Я новичок в реагирующей-тестирующей библиотеке и уже давно пытаюсь протестировать одну функцию. например, я хочу проверить, вызывается ли при нажатии кнопки заданная функция и выдает ли она ошибки. поэтому любая помощь будет высоко оценена и, если возможно, поделится со мной любыми полезными ресурсами.
вход. js
export default class SignIn extends Component {
constructor(props) {
super(props);
this.state = {
};
}
handleClose = (event, reason) => { };
validate = () => { };
change = (e) => { };
onSubmit = (e) => { };
render() {
return (<div>...</div>);
}
}
Полный: https://github.com/blaise82/react-testing-library-try/blob/master/src/views/SignIn.js
это мой тест
it('should submit form', async () => {
const { getByLabelText, getByText, container, debug } = render(<SignIn />);
const change = jest.fn();
const onSubmit = jest.fn();
const email = getByLabelText('email');
const password = getByLabelText('password');
const submit = getByLabelText('submit');
userEvent.type(email, 'octopusbn@gmail.com');
expect(email.value).toBe('octopusbn@gmail.com');
expect(password.value).toBe('');
expect(change).toHaveBeenCalled();
console.log(password)
await userEvent.click(submit);
expect(onSubmit).toHaveBeenCalled();
});
Полный: https://github.com/blaise82/react-testing-library-try/blob/master/src/test/signin.test.js
результаты
> Expected number of calls: >= 1
> Received number of calls: 0
пожалуйста, дайте знать, что я делает неправильно.
Полный код на GitHub: https://github.com/blaise82/react-testing-library-try