使用 mocha 递归测试
Test recursively using mocha
我的 mocha 有问题,它不理解我的测试层次结构!
我希望我的测试接近他们的代码库,所以我的项目中有这样的层次结构:
Level1
|_ level11
|_ level11.js
|_ level11.test.js
|_ level11111
|_ level11111.js
|_ level11111.test.js
|_ level12
|_ level12.js
|_ level12.test.js
|_ level121
|_ level121.js
|_ level121.test.js
Level2
|_ level2.js
|_ level2.test.js
我什么都试过了!使用 **/**.test.js
或 —recursive
标志,它们都没有做它应该做的!
Linux来救援!我在一个根本没有结构的 HUGE 项目中遇到了同样的问题!一些开发人员将测试放在 tests
文件夹中,另一些放在嵌套层中,并且......(一些测试使用 mocha,一些使用 jest!在同一个项目中!:D)
您可以使用:
mocha $(find . -name '*.spec.js')
在你的 package.json
所以:
"scripts": {
"test": "mocha $(find . -name '*.spec.js')"
},
您需要使用带有 extension
标志的 recursive
:
mocha --extension .test.js --recursive
请阅读 --extension and --recursive 的文档了解更多信息。
配置您的 .mocharc.js
文件以允许 运行 递归测试,如下所示:
module.exports = {
"recursive": true,
"exit": true,
"timeout": "10000",
"ignore": ["test/Helpers/*.js", "test/Samples/*.js", "test/Helpers/**/"],
"reporter": "mochawesome",
"reporterOptions": {
"reportDir": "mocha"
}
};
我的 mocha 有问题,它不理解我的测试层次结构! 我希望我的测试接近他们的代码库,所以我的项目中有这样的层次结构:
Level1
|_ level11
|_ level11.js
|_ level11.test.js
|_ level11111
|_ level11111.js
|_ level11111.test.js
|_ level12
|_ level12.js
|_ level12.test.js
|_ level121
|_ level121.js
|_ level121.test.js
Level2
|_ level2.js
|_ level2.test.js
我什么都试过了!使用 **/**.test.js
或 —recursive
标志,它们都没有做它应该做的!
Linux来救援!我在一个根本没有结构的 HUGE 项目中遇到了同样的问题!一些开发人员将测试放在 tests
文件夹中,另一些放在嵌套层中,并且......(一些测试使用 mocha,一些使用 jest!在同一个项目中!:D)
您可以使用:
mocha $(find . -name '*.spec.js')
在你的 package.json
所以:
"scripts": {
"test": "mocha $(find . -name '*.spec.js')"
},
您需要使用带有 extension
标志的 recursive
:
mocha --extension .test.js --recursive
请阅读 --extension and --recursive 的文档了解更多信息。
配置您的 .mocharc.js
文件以允许 运行 递归测试,如下所示:
module.exports = {
"recursive": true,
"exit": true,
"timeout": "10000",
"ignore": ["test/Helpers/*.js", "test/Samples/*.js", "test/Helpers/**/"],
"reporter": "mochawesome",
"reporterOptions": {
"reportDir": "mocha"
}
};