GTF*_*GTF 2 unit-testing mocha.js node.js npm
我使用mocha来运行我的单元测试,并经常使用npm test它来运行它.我package.json包含这些脚本定义:
"pretest": "NODE_ENV=test node migrate all",
"test": "DEBUG= NODE_ENV=test mocha --recursive",
Run Code Online (Sandbox Code Playgroud)
如果我直接在我的shell中运行这些命令中的任何一个(即不通过npm),它们执行正常(790个测试需要大约2米才能运行,迁移脚本在1秒内完成).这些过程也会干净利落地退出.
但是,如果我运行这些npm test,则所有内容都以完全相同的方式运行,但进程不会退出(我必须手动取消它^c).
我无法弄清楚如何调整这里正在发生的事情,以便弄清楚为什么进程没有退出.
值得一提的是,如果我测试的子目录(npm test ./test/queue)不互动在所有与数据库,那么过程退出罚款.但是,这些测试会与AMQP代理进行交互,因此在套接字上会有一些活动.这告诉我数据库连接导致了问题.我正在使用knex连接到postgres9.6服务器.这也表明pretest脚本不是问题.如果我尝试运行一系列测试,其不与数据库交互,过程永远不会退出(因此可能打开的套接字阻止它这样做,但为什么这应该只在的情况下发生的npm test,而不是直接执行是超越我).
额外信息:
async/ await在我的代码库中| 归档时间: |
|
| 查看次数: |
3015 次 |
| 最近记录: |