как смоделировать функцию в библиотеке реагирующего тестирования - PullRequest
0 голосов
/ 29 марта 2020

Я новичок в реагирующей-тестирующей библиотеке и уже давно пытаюсь протестировать одну функцию. например, я хочу проверить, вызывается ли при нажатии кнопки заданная функция и выдает ли она ошибки. поэтому любая помощь будет высоко оценена и, если возможно, поделится со мной любыми полезными ресурсами.

вход. 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

...