mocha的命令的基本选项:

About Babel

如果你在js文件中使用了es6的模块,你可以npm install --save-dev babel-register,然后使用—require选项mocha --require babel-register。如果你指定了文件的后缀名,—compilers选项也是必需的。

-b, --bail


如果你只对第一个异常感兴趣,可以使用这个选项。

-d, --debug


启用nodejs的debug功能。这个选项会用node debug <file>的模式运行你的脚本,所以会在语句处暂停执行。这个选项和mocha debug以及mocha —debug是不同的;mocha debug将会唤起nodejs默认的debug客户端,mocha —debug也可以使用不同的接口,比如--Blink的控制台工具。


names是一个逗号分隔的列表,例如,假设你的app需要使用全局变量appYUI,这个时候你就可以使用--global app, YUI了。names也可以是一个通配符。比如,—global ‘*bar’将会匹配foobar,barbar等。参数传入 * 的话,会忽略所有全局变量。

--check-leaks


默认情况下,mocha并不会去检查应用暴露出来的全局变量,加上这个配置后就会去检查,此时某全局变量如果没有用上面的—GLOBALS去配置为可接受,mocha就会报错。

-r, --require module-name


这个命令可以引入一些测试运行时候所必需的依赖。比如should.js,通过这个选项你不需要在每个文件使用require(‘should’)来添加should.js了。也可以用—require ./test/helper.js这样的命令去引入指定的本地模块。
但是,如果要引用模块导出的对象,还是需要require,var should = require(‘should’)这样搞。

-u, --ui name


用来指定测试所使用的接口,默认是’bdd’。


这个命令用于指定报告的格式。默认是spec。这个选项也可以用于指定使用第三方的报告样式。例如,在后,就可以使用--reporter mocha-lcov-reporter来指定报告格式。

-t, --timeout ms


用来指定用例超时时间。单位是ms,默认是2s。可以直接使用带单位的时间来覆盖掉默认的单位。例如:—timeout 2s和—timeout 2000是一样的。

-s, --slow ms


用来指定慢用例判定时间,默认是75ms。

-g, --grep


参数用于搜索测试用例的名称(即it块的第一个参数),然后只执行匹配的测试用例。