Имитация клика с ReactTestUtils не работает - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь написать тест, используя только 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);
  });
})`

Есть идеи?Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...