FireEvent.click TypeError:无法读取未定义的属性“ click”

时间:2019-07-25 23:28:56

标签: reactjs react-testing-library

我正在使用React Test Library,并且我有一个标签嵌套在一堆穹顶元素中。我上面有一个测试ID,可以在正确的节点上看到它的调试信息。但是当我运行测试时。

       for(Command command : commands) {
            if (command instanceof AddCommand || command instanceof UpdateCommand) {
                checkAndExecuteCommand(command,request);

            } else {
                command.execute(request);
            }
        }

        private void checkAndExecuteCommand(Command command,Request request) {
            if (!isMaturityDateInPast() && !paymentDueDate().isAfter(LocalDate.now())) {
                command.execute(request);
            }
        }

我收到以下错误。

import { render, cleanup } from '@testing-library/react';

test('bla', () => {
  const { fireEvent, getByTestId, debug } = render(
    <Group>
      <Menu items={items} />
    </Group>
  );

  const viewMore = getByTestId('button');
  console.log('viewMore = ', viewMore);
  // debug(viewMore);
  fireEvent.click(viewMore, {});
});

为什么这会告诉我无法读取属性“点击”?

我的按钮类标签位于菜单组件的内部,该菜单组件在Group中呈现。

此处是 viewMore 返回内容的精简版本。

TypeError: Cannot read property 'click' of undefined

1 个答案:

答案 0 :(得分:0)

fireEvent不是来自render,您需要从RTL导入它:

import { fireEvent } from '@testing-library/react'