Mocha尝试在默认情况下找到测试文件,我如何指定另一个目录,例如服务器-测试?
当前回答
正如@superjos在评论中提到的那样
摩卡:递归"some_dir"
其他回答
运行test_directory下的所有文件,包括与test.js匹配的子目录
find ./parent_test_directory -name '*test.js' | xargs mocha -R spec
或者使用——递归开关
mocha --recursive test_directory/
对于更改测试目录,这似乎不是任何“简单”的支持。 然而,也许你应该看看这个问题,相对于你的问题。
windows中的另一个选项是使用cross-env包,并在package.json中遵循npm脚本
"scripts": {
"test": "cross-env mocha '*.test.js'"
},
"devDependencies": {
"cross-env": "latest",
}
在这种情况下,根文件夹中带有*.test.js模式的所有测试文件将由mocha运行。
这里有一种方法,如果你的测试文件夹中有子文件夹。
/test
/test/server-test
/test/other-test
然后在linux中,你可以使用find命令递归地列出所有*.js文件,并将其传递给mocha:
mocha $(find test -name '*.js')
不要使用-g或——grep选项,该模式操作的是it()内部的测试名称,而不是文件系统。目前的文件在这方面是误导和/或完全错误的。为了将整个命令限制在文件系统的一部分,您可以将一个模式作为最后一个参数(它不是一个标志)。
例如,这个命令会将你的报表设置为spec,但只会测试server-test目录下的js文件:
mocha --reporter spec server-test/*.js
这个命令的作用和上面一样,而且它只会运行测试用例,其中测试的it()字符串/定义以"Fnord:"开头:
mocha --reporter spec --grep "Fnord:" server-test/*.js
推荐文章
- 在Visual Studio 2017中未发现单元测试
- 检查已安装的angular-cli版本?
- 如何将Blob转换为JavaScript文件
- 如何用Express/Node以编程方式发送404响应?
- 什么是单元测试?
- 如何安装包从github回购在纱线
- 什么时候.then(success, fail)被认为是承诺的反模式?
- 自动HTTPS连接/重定向使用node.js/express
- 在nodejs http中body在哪里。得到回应?
- 如何在猫鼬排序?
- Java:如何测试调用System.exit()的方法?
- Nodemon错误:“已达到文件监视器数量的系统限制”
- 如何在ASP中使用ILogger进行单元测试。网络核心
- 如何使webpack开发服务器运行在端口80和0.0.0.0使其公开访问?
- 如何在node.js模块中访问和测试内部(非导出)函数?