【问题标题】:Cannot query DOM from event handler in tests无法在测试中从事件处理程序查询 DOM
【发布时间】:2021-09-20 09:09:37
【问题描述】:

如何让我的组件在测试中访问 DOM?

在浏览器中,该组件按预期记录了我的<div>

function Dummy() {
  const handleClick = (e) => console.log(document.querySelectorAll('div'));

  return <div onClick={handleClick}>Hello</div>;
}

但是使用这个测试,它只是打印一个空的 NodeList:

it("should do something", () => {
  render(<Dummy />);
  fireEvent.click(screen.getByText("Hello"));
  expect(false).toBe(true);
});

怎么会?我是否缺少一些必需的测试设置?

【问题讨论】:

标签: reactjs jestjs react-testing-library


【解决方案1】:

好吧,事实证明它打印一个空的NodeList。它打印NodeList {},它可能看起来为空,但实际上当列表中有项目时也会打印...?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多