Я издеваюсь над экземпляром функции (es5), используя jest, но не могу его правильно смоделировать - PullRequest
0 голосов
/ 29 августа 2018

Мой код, как показано ниже ->

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 голосов
/ 29 августа 2018

Функции стрелок имеют лексическую область, поэтому this не будет ссылаться на ваш mockFunction объект. Вы должны изменить обратный вызов на обычную функцию, например, так:

let mockFunction = jest.fn().mockImplementation(function(a) {
  this.temp = a;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...