監視現有功能
Jasmine 可以使用 spyOn
函式監視現有函式。
let calculator = {
multiply: function(a, b) {
return a * b;
},
square: function(a) {
return this.multiply(a, a);
}
}
describe('calculator', function() {
it('squares numbers by multiplying them by themselves', function() {
let num = 2;
spyOn(calculator, 'multiply');
calculator.square(NUM);
expect(calculator.multiply).toHaveBeenCalledWith(NUM, NUM);
})
});
在窺探了該功能後,它會被間諜取代,可以查詢該間諜有關如何以及何時被呼叫的資訊。