我正在使用玩笑嘲笑功能实例(es5),但无法正确嘲笑它

时间:2018-08-29 06:21:44

标签: javascript unit-testing testing jestjs

我的代码如下->

let mockFunction = jest.fn().mockImplementation((a) => {
    this.temp = a;
});

当我按以下方式实例化此函数时

let mockFn = new mockFunction(6);
console.log(mockFn.temp) //this gives me undefined instead of 6

我该如何在mockImplementation函数中访问实例?

1 个答案:

答案 0 :(得分:2)

箭头功能在词法范围上,因此this将不会引用您的mockFunction对象。您应该将回调更改为常规函数,如下所示:

let mockFunction = jest.fn().mockImplementation(function(a) {
  this.temp = a;
});