节点v6.10.2,npm v3.10.3,mocha v3.1.2
我的package.json在脚本部分有这个:
"test": "mocha ./test/unit/* --recursive"
当我运行npm test
时,我得到了
> @hc/pos-onlineordering@0.1.0 test C:\_dev\pos-onlineordering\server
> mocha ./test/unit/* --recursive "--reporter" "dot"
module.js:471
throw err;
^
Error: Cannot find module 'C:\_dev\app\server\test\unit\deploy'
恰好C:_dev \ app \ server \ test \ unit \ deploy是一个包含多个测试文件的目录。
在这里,它真的很有趣。如果我在命令提示符下输入mocha ./test/unit/* --recursive
,它会像我期望的那样运行所有测试。我需要它作为包脚本运行,因为运行单元测试是构建和部署脚本的一部分。
更奇怪:它适用于所有其他团队成员,一些在Mac上,一些在Windows上。我在Windows Power Shell和Git-Bash中尝试过以管理员身份运行它。
我删除了node_modules文件夹并重新运行npm install。我也跑了
npm uninstall -D mocha && npm i -D mocha
并没有任何变化。我甚至删除了整个存储库并重新克隆了它。
所以我的假设是我的计算机或环境显然有问题,但我甚至不知道在这一点上可以找到它的位置。如何让mocha用完包脚本?