我有 file.js 代码,通过这种方式我可以对其进行简化:
function Apple(,data) {
this.attr1 = data.attr1,
this.attr2 = data.attr2,
this.doSomething(data.flag);
}
Apple.prototype = new function() {
this.function1 = function() {
// do something
}
this.doSomething = function(flag) {
// return value
}
}
我想测试function1()
,为此,我想先模拟doSomething()
以返回特定值,但是我失败了,因为对Apple()
函数的任何调用都会立即执行{{ 1}}:
doSomething()
我如何实现我的目标?
答案 0 :(得分:1)
尝试使用spyOn
:
const mockDoSomething = jest.spyOn(Apple.prototype, 'doSomething').mockReturnValueOnce((flag) => {
// mock do something;
})