私はPARAMとAPI呼び出しがあります。異なるパラメータに基づいて異なるモックを返す方法は?
public getPersonName(id: number): Observable<Person> {
let searchParams: URLSearchParams = new URLSearchParams();
searchParams.append("id", id.toString());
// my http call is down here ...
}
を、私のモックは次のようになります。
public handleRequest(connection: MockConnection): void {
let request: Request = connection.request;
// Used in Expedite
if (request.method === RequestMethod.Get && new RegExp('\/person').test(request.url)) {
setTimeout(() => {
connection.mockRespond(new Response(
new ResponseOptions({
status: 200,
headers: new Headers(MY_HEADERS),
body: {
"fname": "John",
"lname": "Deer",
"age": 25
}
})
));
}, 1000);
}
}
が、私がしたいことは、IDに応じて異なるJSONを返すように実際にある...ので、 idが5325なら1つのjsonの結果を返したい、idが4545の場合は別のjsonを返す。
どうすればよいですか?
ありがとう@!
をおかげで偉大な答えを充てる、あなたは私のモックの現在の構造を維持するソリューションを与えることができますtheresのチャンスがありますか? –
好きなようにビルドするだけです(例えば、 'handleRequest'メソッドを渡すなど)。私はちょうどあなたのテストで醜い 'if'sを使うのではなく、あなたの挑戦を解決するのに役立つものを指摘しました:) – gustavohenke