我想为我的 vue3 应用程序编写一个简单的测试,测试应该断言 具体功能 (在这种情况下为 updateRoute)声明为 异步 在不同的组件中
注意:根据我当前的项目,我无法将此功能隔离在单个文件中以使其可重用
例子:
const updateRoute = () => { doSomethig() }
应该 失败尽管
const updateRoute = async () => { await doSomethig() }
应该 通过测试库无关紧要,可以是 Jest 或其他任何东西
最佳答案
有no reliable way and no reason检测 async
功能。对于返回 promise 的函数,它与以下内容相同:
const updateRoute = () => {
return doSomethig().then(() => {}) // Returns a promise of undefined
}
应该测试updateRoute
返回一个 promise ,带有 async
或不。在 Jest 中是:expect(updateRoute()).toEqual(expect.any(Promise));
至于必填await
, 这可以用 ESLint require-await
rule 处理如有必要。
关于javascript - 如何测试函数是否使用 async 关键字调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70015672/