酶内部错误:酶希望配置适配器,但找不到任何适配器

问题描述 投票:1回答:1

[试图使登录单元测试正常工作,但它不断给我错误

酶内部错误:酶期望配置适配器,但找不到。要配置适配器,您应该致电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');
  })
})

reactjs jestjs enzyme
1个回答
1
投票

由于错误告诉您,您需要像这样配置酶的适配器:

// 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

全部在安装文档中:https://airbnb.io/enzyme/docs/installation/

© www.soinside.com 2019 - 2024. All rights reserved.