Ложный URLSeachParams - PullRequest
       9

Ложный URLSeachParams

0 голосов
/ 19 октября 2018

Мы используем jest для насмешек.enzyme для рендеринга в нашем приложении.

Здесь я пытаюсь смоделировать URLSearchParams get метод.

Я пытался использовать

jest.spyOn(URLSearchParams, 'get'); 

Но это не работает.

Мой класс реакции выглядит следующим образом:

export default class Concepts extends React.Component {
  static getDerivedStateFromProps(props) {
  const searchParams = new URLSearchParams(props.search);
  return {
     keyword: searchParams.get('q')
   };
}

Мой тест выглядит следующим образом

it('should be able to change the state', () => {
  jest.spyOn(URLSearchParams, 'get');
  const wrapper = mount(
        <Concepts search="test" />
   );
});

Это правильный путь?Есть ли другие способы сделать это?Заранее спасибо :)

1 Ответ

0 голосов
/ 21 декабря 2018

Вы должны смоделировать get на URLSearchParams.prototype, например:

jest.spyOn(URLSearchParams.prototype, 'get').mockImplementation((key) => key);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...