Tôi có một chức năng tôi muốn kiểm tra mà gọi một phương thức API bên ngoài hai lần, sử dụng các tham số khác nhau. Tôi muốn chế giễu API bên ngoài này bằng một gián điệp Jasmine và trả lại những thứ khác nhau dựa trên các tham số. Có cách nào để làm điều này trong Jasmine? Điều tốt nhất tôi có thể nghĩ ra là hack bằng cách sử dụng 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;
}
});
});
});
and.callFake
- jasmine.github.io/2.2/ khăn >