命令行指定测试脚本时,可以使用通配符,同时指定多个文件。
mocha spec/{my,awesome}.js
mocha test/unit/*.js
上面的第一行命令,指定执行spec
目录下面的my.js
和awesome.js
。第二行命令,指定执行test/unit
目录下面的所有js文件。
除了使用Shell通配符,还可以使用Node通配符。
mocha 'test/**/*.@(js|jsx)'
上面代码指定运行test
目录下面任何子目录中、文件后缀名为js
或jsx
的测试脚本。注意,Node的通配符要放在单引号之中,否则星号(*
)会先被Shell解释。
上面这行Node通配符,如果改用Shell通配符,要写成下面这样。
mocha test/{,**/}*.{js,jsx}
命令行参数
查看Mocha的所有命令行参数
mocha --help
//或者
mocha --h
指定测试报告的格式
默认是spec
格式
mocha
# 等同于
$ mocha --reporter spec
--reporters可以查看所有指定格式的参数
dot和dot matrix
tap
doc
json
landing
list
markdown
min
progress
nyan
使用其他命令行语句
(--growl, -G)
打开--growl参数,就会将测试结果在桌面显示。
mocha --growl
(--watch,-w)
--watch
参数用来监视指定的测试脚本。只要测试脚本有变化,就会自动运行Mocha。
mocha --watch
上面命令执行以后,并不会退出。你可以另外打开一个终端窗口,修改test
目录下面的测试脚本add.test.js
,比如删除一个测试用例,一旦保存,Mocha就会再次自动运行。
(--bail, -b)
--bail
参数指定只要有一个测试用例没有通过,就停止执行后面的测试用例。这对持续集成很有用。
mocha --bail
(--grep, -g)
--grep
参数用于搜索测试用例的名称(即it
块的第一个参数),然后只执行匹配的测试用例。
mocha --grep "1 加 1"
上面代码只测试名称中包含"1 加 1"的测试用例。
(--invert, -i)
--invert
参数表示只运行不符合条件的测试脚本,必须与--grep
参数配合使用。
mocha --grep "1 加 1" --invert