blu*_*blu 8 node.js knex.js jestjs
我有以下简单的测试设置:
test('what did I do to deserve this', async () => {
expect.assertions(1)
const data = await fetchData() // or fetchData2
expect(data).toBe('peanut butter')
})
async function fetchData () {
return "peanut butter"
}
async function fetchData2 () {
return knex.select('name').from('foos')
}
Run Code Online (Sandbox Code Playgroud)
使用fetchData
玩笑的话愉快地结束。
但是当我使用fetchData2
它时会抱怨这个:
测试运行完成后,Jest 一秒钟都没有退出。
这通常意味着在您的测试中没有停止异步操作。考虑运行 Jest
--detectOpenHandles
来解决这个问题。
数据变量确实具有 db 查询的结果,API 中更高级别的其他调用者可以很好地解析查询并继续执行其他语句。
我试过了:
--detectOpenHandles
标志,但它不显示我什么。fetchData2
如果是此处描述的问题,则进行期望通过done
arg传递给test
. 它确实存在,但调用它并不能修复警告。感谢您提供的任何帮助,让这一切变得快乐。
事物的版本:
小智 10
强行关闭 Jest 而不是 DB Connection :
--forceExit
Run Code Online (Sandbox Code Playgroud)
所以我的测试脚本看起来像这样,
"scripts": {
"test": "jest --forceExit"
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14108 次 |
最近记录: |