Enzyme Internal Error: Enzyme ожидает, что адаптер будет настроен, но не найден - PullRequest
1 голос
/ 23 октября 2019

Попытка заставить тестовый модуль входа в систему работать, но он продолжает выдавать мне ошибку

Enzyme Internal Error: Enzyme ожидает, что адаптер настроен, но не нашел ни одного. Чтобы настроить адаптер, вы должны вызвать Enzyme.configure({ adapter: new Adapter() }) перед использованием любого из API-интерфейсов верхнего уровня Enzyme, где Adapter - это адаптер, соответствующий тестируемой в данный момент библиотеке. Например:

импорт адаптера из «фермент-адаптера-реакт-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');
  })
})

1 Ответ

1 голос
/ 23 октября 2019

Поскольку ошибка говорит вам, вам необходимо настроить адаптер для фермента, например, так:

// setup file
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

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

, скажем, /src/tests/setupTests.js, а затем сообщите Jest об этом в jest.config.jsonкак это:

{
  "setupFiles": [
    "<rootDir>/src/tests/setupTests.js"
  ]
}

и затем запустите jest с указанием файла конфигурации:

jest --config=jest.config.json

Это все в документации по установке: https://airbnb.io/enzyme/docs/installation/

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