ogo*_*tos 2 asynchronous assertion async-await jestjs
从Jest文档中:
Expect.assertions(number)验证在测试期间是否调用了一定数量的断言。这在测试异步代码时通常很有用,以确保实际调用了回调中的断言。
这意味着,如果我们要测试拒绝案例promises(中的断言catch),则expect.assertions promise可能无法解决,我们的测试将通过。但是,我们在测试函数中根本没有错误,并且断言实际上从未运行。换句话说,我们没有检查我们想要的东西。我们得到了答案,但是没有回答我们的问题,因为实现promise就不会失败。综上所述,必须在检查拒绝/错误时定义断言的数量。
在文档中还有另一个示例:
test('the data is peanut butter', async () => {
expect.assertions(1);
const data = await fetchData();
expect(data).toBe('peanut butter');
});
Run Code Online (Sandbox Code Playgroud)
在使用async/await模式时,我们将等待promise解决,并且测试条件一定会运行。
这里的目的是expect.assertions什么?我们是否真的需要expect.assertions此代码,或者只是编写它的最佳实践?
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |