我无法弄清楚为什么在单击此测试框架的按钮后渲染状态没有改变。它适用于应用程序,但不适用于测试用例。我尝试阅读多个文档并使用async/await waitForElement
,moch renders
和多个 getBy* 组合......似乎没有任何效果。
我在沙盒上复制了代码-> https://codesandbox.io/s/40pz9nj469
这是我要开始工作的代码块(位于./src/controls/Controls.spec.js
):
it("Testcase: button 'Close Gate' changes to 'Open Gate' upon event click", () => {
const { getByTestId } = render(<Controls />);
const button = getByTestId("closed");
expect(button).toHaveTextContent(/Close Gate/i);
fireEvent.click(button);
expect(button).toHaveTextContent(/Open Gate/i); // <<<fails here>>>
});
失败消息...
有人告诉我我们不允许使用酶,所以这里不能选择安装/浅...
有人有任何想法来完成这项工作吗?