Как вы издеваетесь над функцией класса в componentDidMount - PullRequest
0 голосов
/ 28 ноября 2018
class myClass extends React.Component {
     async componentDidMount(){
         const xyz = helperclass.queryParameters('parameter')
         // how can I mock xyz to help me change the value to test the conditional below
         if(xyz){
            // do something here
          }
     }
}

отредактировал приведенный выше код, теперь я хочу проверить const xyz на значение вспомогательной функции, сменив его, а затем возвращая разные вещи, чтобы проверить, было ли выполнено содержимое в условном выражении

1 Ответ

0 голосов
/ 28 ноября 2018

Так как myFunctionToMock является методом-прототипом, его можно смоделировать как

jest.spyOn(MyClass.prototype, 'myFunctionToMock').mockImplementation(...);

перед созданием класса.

Другой вариант в Enzyme - отключить ловушки с помощью * 1008.* option , смоделировать метод на wrapper.instance() и вызвать componentDidMount вручную.

Если метод не принадлежит this, его можно смоделировать на объекте, к которому он принадлежит:

jest.spyOn( helperclass, 'queryParameters').mockImplementation(...);

Опять же, это должно быть сделано до создания экземпляра класса, или необходимо использовать disableLifecycleMethods.

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