这样做的好办法就是在软件包中添加“ 测试” npm 脚本。 json 使用正确的参数调用 Mocha 。 这样, 您的软件包. json 也可以描述您的测试结构 。 它还可以避免其他答案中的所有交叉平台问题( 双对单引号, “ findd” 等 ) 。
Mocha 要在“ 测试” 目录中运行所有 js 文件 :
"scripts": {
"start": "node ./bin/www", -- not required for tests, just here for context
"test": "mocha test/**/*.js"
},
然后只运行烟雾测试电话:
npm test
您可以这样将所有项目中所有测试的运行标准化, 所以当新的开发者开始您的项目或其它项目时, 他们知道“ npm 测试” 将会运行测试 。 此测试具有良好的历史先例( 例如, 最老的学校“ make” 项目 ) 。 当所有项目都有相同的测试命令时, 它会帮助 CI 。
类似地,你可能会有更快速的“烟雾”测试的子集, 你可能会想要摩卡来运行:
"scripts": {
"test": "mocha test/**/*.js"
"smoketest": "mocha smoketest/**/*.js"
},
然后只运行烟雾测试电话:
npm smoketest
另一个常见模式是将您的测试与测试源放在相同的目录中,但调用测试文件 *.spec.js。例如: src/foo/foo.js 由 src/foo/foo.spec.js 测试。
以会议方式运行所有名为 *.spec.js 的测试:
"scripts": {
"test": "mocha **/*.spec.js"
},
然后运行所有的测试电话:
npm test
看到这里的图案吗? 好 : 一致挫败Murura 。