Mocha尝试在默认情况下找到测试文件,我如何指定另一个目录,例如服务器-测试?


当前回答

我刚刚遇到了这个问题,并通过删除——recursive选项(我已经设置了)并使用上面建议的相同结构来解决它:

mochify “test/unit/**/*.js”

这为我运行了/test/unit/下所有目录下的所有测试,而忽略了/test/下的其他目录

其他回答

正如@superjos在评论中提到的那样

摩卡:递归"some_dir"

用这个:

mocha server-test

或者如果你有子目录,使用这个:

mocha "server-test/**/*.js"

注意双引号的使用。如果省略它们,则可能无法在子目录中运行测试。

现在一天(2020年),你可以使用mocha配置文件来处理这个问题:

步骤1:在应用程序的根位置创建.mocharc.js文件

步骤2:在mocha配置文件中添加以下代码:

'use strict';

module.exports = {
  spec: 'src/app/**/*.test.js'
};

有关配置文件中的更多选项,请参阅此链接:https://github.com/mochajs/mocha/blob/master/example/config/.mocharc.js

运行test_directory下的所有文件,包括与test.js匹配的子目录

find ./parent_test_directory -name '*test.js' | xargs mocha -R spec

或者使用——递归开关

mocha --recursive test_directory/

如果你使用的是nodejs,在你的包中。脚本下的Json

对于全局(-g)安装:"test": "mocha server-test"或"test": "mocha server-test/**/*.js"用于子文档 项目安装:“test”:“node_modules/mocha/bin/mocha server-test”或“test”:“node_modules/mocha/bin/mocha server-test/**/*.js”

然后像npm测试一样正常运行你的测试