реагировать юнит-тестирование - энзмые мелкие - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь настроить модульное тестирование в React с помощью Enzyme. Когда я запускаю команду «npm-test», тест не проходит. Консольный терминал указывает, что это не удалось из-за мелкого (). Я установил энзим с помощью этой команды npm install --save энзим-энзим-адаптер-реагировать-16 реагирует-тест-рендеринг. Кто-нибудь знает, как решить эту проблему?

Ниже находится компонент

import React from 'react';

    class Login extends Component {
      render() {
        return <div><input
          onChange={(event) => {
             this.setState({input: event.target.value})}}
          type="text" /></div>;
      }
    }

    export default Login;

Это модульный тест, который я написал для компонента.

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

import Login from '../../../src/components/authentication/Login';
import Enzyme from 'enzyme';

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

  it("should create an entry in component state with the event value", () => {
    // given
    const component = shallow(<Login/>);
    const form = component.find('input');
    // when
    form.props().onChange({target: {
      name: 'myName',
      value: 'myValue'
    }});
    // then
    expect(component.state('input')).toEqual('myValue');
  });

Спасибо за помощь.

1 Ответ

0 голосов
/ 02 мая 2018

Привет, может быть, вы пропустите соглашения:

Вы должны поместить свои тестовые файлы в каталог __tests__, а тестовый файл должен иметь имя: YourComponent.test.js

Чем заключить тест в набор тестов:

describe('Your test suite', () => {
  test('it should do something', () => {
   // the content of your test
  });
});
...