spyOn не работает, пока установлен Jest 24.1 - PullRequest
0 голосов
/ 18 февраля 2019

В моем package.json у меня есть jest 24.1.0, но мой тест говорит мне

"TypeError: _jest.default.spyOn не является функцией"

Документы Jest говорят, что spyOnметод, который я могу использовать, но каким-то образом он мне недоступен.Что я делаю не так?

https://jestjs.io/docs/en/jest-object#jestspyonobject-methodname

вот мой тест ...

import React from 'react';
import jest from 'jest';
import Enzyme, { shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({adapter: new Adapter()});
import  NavLink  from '../Tabs/NavLink';

describe('NavLink', () => {
  it('handles onClick prop', () => {
    const onClick = jest.fn();
    const e = jest.spyOn('e', ['preventDefault']);
    const wrapper = shallow(
      <NavLink onClick={onClick} />
    );

    wrapper.find('a').simulate('click', e);
    expect(onClick).toHaveBeenCalled();
    expect(e.preventDefault).not.toHaveBeenCalled();
  });
}

1 Ответ

0 голосов
/ 18 февраля 2019

Просто удалите эту строку:

import jest from 'jest';

Jest находит и запускает ваши тесты, поэтому jest уже существует в объеме вашего теста к моменту его запуска,Нет необходимости импортировать его, и это вызывает ошибку, которую вы видите.

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