3
引数に基づいてジャスミンのスパイを変更する方法はありますか?
異なるパラメーターを使用して、外部APIメソッドを2回呼び出すテストしたい関数があります。この外部APIをJasmineスパイでモックアウトし、パラメーターに基づいてさまざまなものを返したいのですが。ジャスミンでこれを行う方法はありますか?私が思いつくことができる最高のものはandCallFakeを使ったハックです: var functionToTest = function() { var userName = externalApi.get('abc'); var userId = externalApi.get('123'); }; describe('my fn', function() { it('gets user name and ID', function() { spyOn(externalApi, 'get').andCallFake(function(myParam) { if (myParam == 'abc') { return 'Jane'; } else if (myParam == '123') { return 98765; } }); }); });