我有一个按钮,单击时会将文本短暂更改为文本Saving
。如何测试这种状态?我怀疑名字的变化发生得如此之快,它不是被拿起,而不是它被打破。
await act(() => {
const saveButton = screen.getByRole("button", { name: "Save" });
fireEvent.click(saveButton);
expect(saveButton).toHaveAttribute("name", "Saving");
});
这可以在不模拟API请求中的减速的情况下完成吗?
1条答案
按热度按时间guykilcj1#
尝试将
expect()
和saveButton
从act()
中取出。当
expect()
在act()
中时,它不会等待fireEvent.click(saveButton)
。备注:
在intro example上,它不使用
act()
作为用户事件,只是将test()
转换为async
函数,并在Assert之前使用await
作为用户事件。