我正在使用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
答案 0 :(得分:0)
fireEvent
不是来自render
,您需要从RTL导入它:
import { fireEvent } from '@testing-library/react'