Я пытаюсь настроить модульное тестирование в 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');
});
Спасибо за помощь.