如何指定摩卡的testing目录?

摩卡力图默认testingtesting文件,如何指定另一个目录,例如server-test

这里有一种方法,如果你有你的testing文件夹中的子文件夹

 /test /test/server-test /test/other-test 

然后在Linux中,您可以使用find命令recursion列出所有* .js文件并将其传递给mocha:

 mocha $(find test -name '*.js') 

用这个:

 mocha server-test 

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

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

请注意使用双引号。 如果你忽略它们,你可能无法在子目录中运行testing。

如果你想通过在命令行上运行mocha来做到这一点,但是想在./server-tests而不是./test文件夹下运行testing,只需要在./test/mocha.opts文件中创build一个文件./test/mocha.opts在文件中:

 server-tests 

如果你想运行该文件夹和子目录中的所有东西,把它放到test/mocha.opts

 server-tests --recursive 

mocha.opts是通过命令行传入的参数,所以使第一行只是您想要更改testing的目录也将从./test/redirect

不要使用-g或–grep选项,该模式在它()内部的testing名称上运行,而不是文件系统。 目前的文件是误导和/或彻底的错误。 为了将整个命令限制在文件系统的一部分,可以传递一个模式作为最后一个参数(它不是一个标志)。

例如,这个命令将设置您的记者规范,但只会立即testing服务器testing目录内的js文件:

 mocha --reporter spec server-test/*.js 

这个命令将执行与上面相同的操作,并且只会运行testing的it()string/定义以“Fnord:”开头的testing用例:

 mocha --reporter spec --grep "Fnord:" server-test/*.js 

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

mochify "test/unit/**/*.js"

这在/test/unit/目录下的所有目录下运行了所有的testing,而忽略了/test/

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

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

或者使用--recursive开关

 mocha --recursive test_directory/ 

我在Windows 7上使用node.js v0.10.0和mocha v1.8.2和npm v1.2.14。 我只是试图让摩卡使用pathtesting/单位来find我的testing,花了很长时间,尝试了我登陆的几件事情之后,

使用“test / unit / *。js”选项在Windows上不起作用。 有很好的理由,Windowsshell不像unixen扩展通配符。

但是,使用“testing/单位”的工作,没有文件模式。 例如。 “摩卡testing/单元”运行testing/单元文件夹中的所有文件。

这只能运行一个文件夹文件作为testing,但您可以传递多个目录名称作为参数。

也要运行一个testing文件,你可以指定完整的path和文件名。 例如。 “摩卡testing/单元/ mytest1.js”

我实际上在package.json中设置了npm“scripts”:{“test”:“mocha test / unit”},

所以'npm test'运行我的unit testing。

如果你正在使用nodejs ,在你的package.json scripts

  1. 对于global (-g)安装:对于子文档, "test": "mocha server-test""test": "mocha server-test/**/*.js"
  2. 对于project安装: "test": "node_modules/mocha/bin/mocha server-test""test": "node_modules/mocha/bin/mocha server-test/**/*.js"

然后,正常运行你的testing作为npm test

这似乎没有任何“简单”支持更改testing目录。
但是,也许你应该看看这个问题 ,相对于你的问题。

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

mocha --recursive "some_dir"