- 一个或多个 describe -- 测试套件
- 内部一个或多个 it -- 测试用例
代码执行结果与预期是否一致
expect().to.be.[what];
mocha file.test.suffix
mocha # run test under test dir
mocha --recursive # as same but recursive
node and shell
mocha spec/{my, awesome}/.js
mocha test/unit/*.js
mocha 'test/**/*.@(js|jsx)'
- --help
- --reporter tap|...
- mochawesome -- html display
- --growl -- 桌面显示结果
- --watch -- 监视脚本/自动运行
- --bail/-b -- 未通过立即停止
- --grep/-g -- 匹配特定
- --invert/i -- 不符合/与 -g 一起使用
设置命令行参数
npm install babel-core babel-preset-es2015 --save-dev
.babelrc
{
"presets": [ "es2015" ]
}
../node_modules/mocha/bin/mocha --compilers js:babel-core/register
-t/--timeout
设置超时门槛
-s/--slow
默认显示超过75ms的测试用例
before(function () {
// 本区块所有测试用例之前执行
});
beforeEach(function () {
// 本区块每个测试用例之前执行
});
after(function () {
// 本区块所有测试用例之后执行
});
afterEach(function () {
// 本区块每个测试用例之后执行
});
only
-- 只运行某个测试套件/测试用例
skip
-- 跳过指定的测试套件/测试用例
mocha init dir
mocha --recursive -R markdown > spec.md
mocha --recursive -R doc > spec.html