Насмешливый метод класса, использующий шутку в javascript - PullRequest
0 голосов
/ 03 марта 2019

У меня есть класс, в котором при рендеринге он вызывает функцию, которая читает значение из this.Есть ли способ смоделировать эту функцию, чтобы тест мог успешно выполняться.

Class Car extends PureComponent{
    readFromThis = () => {
        const helper = this.helper;
        return helper.key();
    }
    render() {
        return (<div>{this.readFromThis()}</div>)
    }
};
export { Car };

Здесь helper не определено, поэтому helper.key () регистрирует ошибку и тест не запускается с ошибкой -> cannot read property key of undefined.Как смоделировать readFromThis(), чтобы можно было выполнить пользовательскую реализацию.

1 Ответ

0 голосов
/ 03 марта 2019

Для того, чтобы издеваться над таким методом, я считаю, что вы можете сделать следующее:

const readFromThisSpy = jest.spyOn(Car.prototype, 'readFromThis').mockImplementation(() =>
  {
    // Your mock implementation here
  });

И затем вы можете уничтожить этого шпиона в функции afterAll() или afterEach(), выполнив следующие действия:

readFromThisSpy.mockRestore();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...