这样做的好方法是在 package.json 中添加一个“测试”npm 脚本,该脚本使用正确的参数调用 mocha。这样你的 package.json 也描述了你的测试结构。它还避免了其他答案中的所有这些跨平台问题(双引号与单引号,“查找”等)
让mocha运行“test”目录下的所有js文件:
"scripts": {
"start": "node ./bin/www", -- not required for tests, just here for context
"test": "mocha test/**/*.js"
},
然后只运行冒烟测试调用:
npm test
您可以通过这种方式标准化所有项目中所有测试的运行,因此当新开发人员开始您的项目或其他项目时,他们知道“npm test”将运行测试。这有很好的历史先例(例如,Maven,大多数老派“制作”项目也是如此)。当所有项目都有相同的测试命令时,它肯定对 CI 有帮助。
同样,您可能希望 mocha 运行更快的“冒烟”测试子集:
"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
看到这里的模式了吗?好的。 :) 一致性击败mura。