B.C*_*Ch. 5 javascript testing vue.js jestjs vuejs3
我想为我的 vue3 应用程序编写一个简单的测试,测试应该断言特定函数(在本例中为 updateRoute)在不同组件中使用异步声明
注意:根据我当前的项目,我无法将此函数隔离在单个文件中以使其可重用
例子:
const updateRoute = () => { doSomethig() }
Run Code Online (Sandbox Code Playgroud)
应该失败
尽管
const updateRoute = async () => { await doSomethig() }
Run Code Online (Sandbox Code Playgroud)
应该通过
测试库并不重要,它可以是 Jest 或其他任何东西
没有可靠的方法也没有理由检测async功能。对于返回 Promise 的函数,它与以下内容相同:
const updateRoute = () => {
return doSomethig().then(() => {}) // Returns a promise of undefined
}
Run Code Online (Sandbox Code Playgroud)
应该测试是否updateRoute返回一个承诺,无论async是否返回。用笑话来说是:
expect(updateRoute()).toEqual(expect.any(Promise));
Run Code Online (Sandbox Code Playgroud)
至于强制,如果需要的话可以用ESLint规则await来处理。require-await
| 归档时间: |
|
| 查看次数: |
746 次 |
| 最近记录: |