Mocha尝试在默认情况下找到测试文件,我如何指定另一个目录,例如服务器-测试?
当前回答
windows中的另一个选项是使用cross-env包,并在package.json中遵循npm脚本
"scripts": {
"test": "cross-env mocha '*.test.js'"
},
"devDependencies": {
"cross-env": "latest",
}
在这种情况下,根文件夹中带有*.test.js模式的所有测试文件将由mocha运行。
其他回答
对于更改测试目录,这似乎不是任何“简单”的支持。 然而,也许你应该看看这个问题,相对于你的问题。
我在Windows 7上使用node.js v0.10.0和mocha v1.8.2和npm v1.2.14。 我只是想让摩卡使用路径测试/单元来找到我的测试, 在花了很长时间并尝试了几件事之后,
使用"test/unit/*.js"选项在windows上不起作用。 windows shell不像unixen那样展开通配符是有原因的。
但是使用“test/unit”也可以,没有文件模式。 如。“mocha test/unit”会运行test/unit文件夹下的所有文件。
这仍然只运行一个文件夹文件作为测试,但您可以传递多个目录名称作为参数。
此外,要运行单个测试文件,您可以指定完整的路径和文件名。 如。“摩卡测试/单位/ mytest1.js”
我实际上是在包里安装的。NPM Json "脚本":{ “测试”:“摩卡测试/单元” },
所以'npm test'运行我的单元测试。
这里有一种方法,如果你的测试文件夹中有子文件夹。
/test
/test/server-test
/test/other-test
然后在linux中,你可以使用find命令递归地列出所有*.js文件,并将其传递给mocha:
mocha $(find test -name '*.js')
运行test_directory下的所有文件,包括与test.js匹配的子目录
find ./parent_test_directory -name '*test.js' | xargs mocha -R spec
或者使用——递归开关
mocha --recursive test_directory/
正如@superjos在评论中提到的那样
摩卡:递归"some_dir"
推荐文章
- 如何使用Jest测试对象键和值是否相等?
- 为什么在节点REPL中没有定义__dirname ?
- 在Node.js中克隆对象
- Node.js中的process.env.PORT是什么?
- js的Mongoose.js字符串到ObjectId函数
- ELIFECYCLE Node.js错误是什么意思?
- 如何完全卸载Ubuntu中的nodejs, npm和node
- 在猫鼬模式中添加created_at和updated_at字段
- 我如何把变量javascript字符串?
- 如何强制tsc忽略node_modules文件夹?
- NPM全局安装“无法找到模块”
- MongoDB和Mongoose的区别
- 如何使用Express.js指定HTTP错误码?
- 通过npm安装Twitter Bootstrap的目的?
- 将文件中的字符串替换为nodejs