[试图使登录单元测试正常工作,但它不断给我错误
酶内部错误:酶期望配置适配器,但找不到。要配置适配器,您应该致电Enzyme.configure({ adapter: new Adapter() })
在使用任何酶的顶级API之前,其中Adapter
是适配器对应于当前正在测试的库。例如:
从'enzyme-adapter-react-15'导入适配器;
这是我的单元测试
import React from 'react';
import { shallow, mount, render } from 'enzyme';
import Login from './components/login.js';
describe('Login Test Suite', () => {
it('should render the form', () => {
const wrapper = shallow(<Login />);
expect(wrapper.find('form.login').exists()).toBe(true);
expect(wrapper.find('#Username').length).toEqual(1);
expect(wrapper.find('#password').length).toEqual(1);
})
})
describe('Username Test Suite', () => {
it('should change the state of the Login component', () => {
const wrapper = shallow(<Login />);
wrapper.find('#Username').simulate('blur',
{
target: { name: 'Username', value: 'adastest' }
});
expect(wrapper.state('Username')).toEqual('adastest');
})
})
describe('Password Test Suite', () => {
it('should change the state of the Login component', () => {
const wrapper = mount(<Login />);
wrapper.find('#password').simulate('blur',
{
target: { name: 'password', value: 'adastest' }
});
expect(wrapper.state('password')).toEqual('adastest');
})
})
由于错误告诉您,您需要像这样配置酶的适配器:
// setup file
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
让我们说/src/tests/setupTests.js
,然后在jest.config.json
中像这样告诉Jest:
{
"setupFiles": [
"<rootDir>/src/tests/setupTests.js"
]
}
然后通过指定配置文件来开玩笑:
jest --config=jest.config.json