Mocha尝试在默认情况下找到测试文件,我如何指定另一个目录,例如服务器-测试?
当前回答
这里有一种方法,如果你的测试文件夹中有子文件夹。
/test
/test/server-test
/test/other-test
然后在linux中,你可以使用find命令递归地列出所有*.js文件,并将其传递给mocha:
mocha $(find test -name '*.js')
其他回答
这里有一种方法,如果你的测试文件夹中有子文件夹。
/test
/test/server-test
/test/other-test
然后在linux中,你可以使用find命令递归地列出所有*.js文件,并将其传递给mocha:
mocha $(find test -name '*.js')
编辑:该选项已弃用:https://mochajs.org/#mochaopts
如果仍然希望在命令行上运行mocha,但希望在。/server-tests文件夹而不是。/test文件夹中运行测试,请在。/test/mocha目录下创建一个文件。在文件中只有这个选项:
server-tests
如果你想运行这个文件夹和子目录下的所有内容,把它放到test/mocha.opts中
server-tests
--recursive
摩卡。Opts是通过命令行传入的参数,因此将第一行设置为您想要更改测试的目录,也将从。/test/重定向
如果你使用的是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测试一样正常运行你的测试
我刚刚遇到了这个问题,并通过删除——recursive选项(我已经设置了)并使用上面建议的相同结构来解决它:
mochify “test/unit/**/*.js”
这为我运行了/test/unit/下所有目录下的所有测试,而忽略了/test/下的其他目录
windows中的另一个选项是使用cross-env包,并在package.json中遵循npm脚本
"scripts": {
"test": "cross-env mocha '*.test.js'"
},
"devDependencies": {
"cross-env": "latest",
}
在这种情况下,根文件夹中带有*.test.js模式的所有测试文件将由mocha运行。
推荐文章
- 在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模块中访问和测试内部(非导出)函数?