在Jasmine中,可以使用spyOn
函数来模拟被模拟对象的函数调用。spyOn
函数可以用于监视一个对象的特定函数,并且可以跟踪该函数的调用情况。
使用spyOn
函数的语法如下:
spyOn(obj, methodName)
其中,obj
是要被模拟的对象,methodName
是要被模拟的函数名。
通过调用spyOn
函数,我们可以创建一个被模拟的函数,该函数将记录函数的调用次数、参数和返回值。然后,我们可以使用toHaveBeenCalled
、toHaveBeenCalledWith
等函数来验证函数的调用情况。
下面是一个示例:
// 假设有一个名为calculator的对象,其中有一个add函数
var calculator = {
add: function(a, b) {
return a + b;
}
};
// 使用spyOn函数来模拟calculator对象的add函数
spyOn(calculator, 'add');
// 调用被模拟的add函数
calculator.add(2, 3);
// 验证add函数是否被调用过
expect(calculator.add).toHaveBeenCalled();
// 验证add函数被调用时的参数
expect(calculator.add).toHaveBeenCalledWith(2, 3);
在上面的示例中,我们使用spyOn
函数来模拟了calculator
对象的add
函数,并且通过toHaveBeenCalled
和toHaveBeenCalledWith
函数验证了该函数的调用情况。
推荐的腾讯云相关产品:无
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云