Node.js 使用mocha递归测试

Node.js 使用mocha递归测试,node.js,unit-testing,testing,mocha.js,Node.js,Unit Testing,Testing,Mocha.js,我有一个问题与摩卡,它不理解我的测试层次! 我希望我的测试靠近它们的代码库,所以在我的项目中有一些类似的层次结构: Level1 |_ level11 |_ level11.js |_ level11.test.js |_ level11111 |_ level11111.js

我有一个问题与摩卡,它不理解我的测试层次! 我希望我的测试靠近它们的代码库,所以在我的项目中有一些类似的层次结构:

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!我在一个巨大的项目中遇到了同样的问题,这个项目实际上根本没有结构!一些开发人员将测试放在
tests
文件夹中,另一些放在嵌套层和…(在同一个项目中,有些测试使用mocha,有些使用jest!:D)

您可以使用:

mocha $(find . -name '*.spec.js')
在您的
package.json中
因此:


您需要将
递归
扩展
标志一起使用:

mocha --extension .test.js --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——extension.spec.js——递归。[你忘了结尾的点:)]
module.exports = {
    "recursive": true,
    "exit": true,
    "timeout": "10000",
    "ignore": ["test/Helpers/*.js", "test/Samples/*.js", "test/Helpers/**/"],
    "reporter": "mochawesome",
    "reporterOptions": {
        "reportDir": "mocha"
    }
};