小编典典

酶期望配置适配器

reactjs

我通过create-react-app创建了一个新的React应用程序,我想向在该应用程序中创建的名为“
MessageBox”的组件编写单元测试。这是我编写的单元测试:

import MessageBox from "../MessageBox";
import { shallow } from 'enzyme';
import React from 'react';

test('message box', () => {
   const app = {setState: jest.fn()};
   const wrapper = shallow(<MessageBox app={app}/>);
   wrapper.find('button').at(0).simulate('click');
   expect(app.setState).toHaveBeenLastCalledWith({modalIsOpen: false});
});

我还在“ src”文件夹下添加了一个名为“ setupTests.js”的文件,其内容为:

import * as enzyme from 'enzyme';
import * as Adapter from 'enzyme-adapter-react-16';

enzyme.configure({ adapter: new Adapter() });

我通过以下方式运行它:

npm测试

我得到了错误:

酶内部错误:酶希望配置适配器,但找不到。要配置适配器,您应该致电Enzyme.configure({ > adapter: new Adapter() })

你知道什么可以解决这个问题吗?


阅读 254

收藏
2020-07-22

共1个答案

小编典典

将其添加到您的测试用例文件。

import React from 'react';
import Adapter from 'enzyme-adapter-react-16';
import { shallow, configure } from 'enzyme';

configure({adapter: new Adapter()});
test('message box', ()=> {
     ...
})
2020-07-22