Я пытаюсь написать тест, используя только Jest и ReactTestUtils.Как правильно симулировать клики?Я не хочу использовать энзим и придерживаться того, что CRA дает мне по умолчанию.
Кнопка была компонентом (функцией) без состояния и не может монтировать ее правильно, но теперь это класс, который все еще не работает."линия ...
`import React from 'react';
import * as TestRenderer from 'react-test-renderer';
import ReactTestUtils from 'react-dom/test-utils';
import { Button } from '..';
let renderer: TestRenderer.ReactTestRenderer;
let instance: TestRenderer.ReactTestInstance;
const button = <Button text="TextButton" />;
describe('Button', () => {
beforeAll(() => {
renderer = TestRenderer.create(button);
instance = renderer.root;
});
it('renders with correct props', () => {
const buttonProps = instance.findByType('button').props.children;
expect(buttonProps).toBe('TextButton');
});
it('executes onClick function', () => {
const clickHandler = jest.fn();
const element = ReactTestUtils.renderIntoDocument(
<Button onClick={clickHandler} />,
);
const buttonElement =
ReactTestUtils.findRenderedDOMComponentWithTag(element,
'button');
// This line returns 'undefined'
ReactTestUtils.Simulate.click(buttonElement);
// Returns: Expected mock function to have
// been called one time, but it was called zero times
expect(clickHandler).toHaveBeenCalledTimes(1);
});
})`
Есть идеи?Что я делаю не так?