无法从测试中的事件处理程序查询DOM



我怎样才能使我的组件在测试中访问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);
});

如何来吗?我错过了一些必要的测试设置吗?

嗯,结果是打印一个空的NodeList。它打印NodeList {},它可能看起来为空,但实际上当列表中有项目时也会打印…🙈

最新更新