如果开玩笑失败,如何重试期望语句
How to retry an expect statement if it fails in jest
我正在使用 jest 在我的 React 应用程序中进行单元测试。
我的应用程序中有一个 material ui 日期选择器,带有下一个和上一个按钮,我在浏览器中有当前选择的日期 url。每当用户单击下一个或上一个按钮时,url 就会更新。
我用 history.push
来做那个,我检查它在 ui 中是否正常工作。但是我必须验证的测试用例在以下 expect 语句 expect(history.push).toBeCalledWith('/path/to/url?date=${date}');
中失败,表示对该函数进行了 0 次调用。如果无法确保它不会因某些延迟而失败,我只想重试此特定的 expect 语句几次。我该怎么做?
retry(expect(history.push).toBeCalledWith('/path/to/url?date=${date}'), numTimes);
你可以简单地使用一个 setTimeout
和你的 expect
语句的回调和一个笑话 done()
之后。根据您的喜好设置延迟,并确保您已正确模拟 history
对象。
我正在使用 jest 在我的 React 应用程序中进行单元测试。
我的应用程序中有一个 material ui 日期选择器,带有下一个和上一个按钮,我在浏览器中有当前选择的日期 url。每当用户单击下一个或上一个按钮时,url 就会更新。
我用 history.push
来做那个,我检查它在 ui 中是否正常工作。但是我必须验证的测试用例在以下 expect 语句 expect(history.push).toBeCalledWith('/path/to/url?date=${date}');
中失败,表示对该函数进行了 0 次调用。如果无法确保它不会因某些延迟而失败,我只想重试此特定的 expect 语句几次。我该怎么做?
retry(expect(history.push).toBeCalledWith('/path/to/url?date=${date}'), numTimes);
你可以简单地使用一个 setTimeout
和你的 expect
语句的回调和一个笑话 done()
之后。根据您的喜好设置延迟,并确保您已正确模拟 history
对象。