有什么方法可以根据参数修改茉莉花间谍吗?
2022-08-30 01:38:16
我有一个函数,我想测试它使用不同的参数调用外部API方法两次。我想用Jasmine间谍来嘲笑这个外部API,并根据参数返回不同的东西。有什么办法可以在茉莉花中做到这一点吗?我能想到的最好的方法是使用和CallFake的黑客攻击:
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;
}
});
});
});