Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 安装Jest 24.1时spyOn不工作_Reactjs_Jestjs - Fatal编程技术网

Reactjs 安装Jest 24.1时spyOn不工作

Reactjs 安装Jest 24.1时spyOn不工作,reactjs,jestjs,Reactjs,Jestjs,在我的package.json中,我有jest 24.1.0,但我的测试告诉我 TypeError:_jest.default.spyOn不是函数 Jest文档说spyOn是我可以使用的一种方法,但不知怎么的,它不适用于我。我做错了什么 这是我的测试 import React from 'react'; import jest from 'jest'; import Enzyme, { shallow } from 'enzyme'; import Adapter from 'enzyme-ad

在我的package.json中,我有jest 24.1.0,但我的测试告诉我

TypeError:_jest.default.spyOn不是函数

Jest文档说spyOn是我可以使用的一种方法,但不知怎么的,它不适用于我。我做错了什么

这是我的测试

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();
  });
}
只需删除此行:

import jest from 'jest';
Jest查找并运行您的测试,因此在运行测试时Jest是正确的。不需要导入它,这样做会导致您看到的错误