RUNNING MOCHA IN THE BROWSER
Mocha可以在浏览器中使用。每次Mocha发版,都会生成一个新的./mocha.js和./mocha.css文件,以便在浏览器中使用。
BROWSER-SPECIFIC METHODS
下面的方法只能在浏览器中使用。
mocha.allowUncaught()
:未捕获的错误不会被抛出。
下面是一个典型的例子。在加载测试脚本之前,使用mocha.setup(‘bdd’)函数把测试模式设置为BDD接口,测试脚本加载完之后用mocha.run()函数来运行测试。
<html>
<head>
<meta charset="utf-8">
<title>Mocha Tests</title>
<link href="https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.css" rel="stylesheet" />
</head>
<body>
<div id="mocha"></div>
<script src="https://cdn.rawgit.com/jquery/jquery/2.1.4/dist/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/Automattic/expect.js/0.3.1/index.js"></script>
<script src="https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.js"></script>
<script>mocha.setup('bdd')</script>
<script src="test.array.js"></script>
<script src="test.object.js"></script>
<script src="test.xhr.js"></script>
<script>
mocha.checkLeaks();
mocha.globals(['jQuery']);
mocha.run();
</script>
</body>
</html>
GREP
浏览器中可以通过在url后边加?grep=api参数,来使用grep命令。
BROWSER CONFIGURATION
可以通过mocha.setup()方法来设置配置:
// Use "tdd" interface. This is a shortcut to setting the interface;
// any other options must be passed via an object.
mocha.setup('tdd');
// This is equivalent to the above.
mocha.setup({
ui: 'tdd'
});
// Use "tdd" interface, ignore leaks, and force all tests to be asynchronous
mocha.setup({
ui: 'tdd',
ignoreLeaks: true,
asyncOnly: true
});
BROWSER-SPECIFIC OPTION(S)
下面的选项只能在浏览器中使用。
noHighlighting
:如果为true,在输出结果中语法不会高亮。
MOCHA.OPTS
在服务端运行的时候,mocha会去加载test目录下的mocha.opts文件,来读取mocha配置项。这个配置文件中的每一行代表一项配置。如果运行mocha命令的时候,带上的配置参数与这个配置文件中的配置冲突的话,以命令中的为准。
假设你有如下的mocha.opt文件:
-- require should
-- reporter dot
-- ui bdd
上面的配置就会让mocha 引入一下should模块、报告样式设置为dot,并且使用bdd的测试接口。在这个基础上,运行mocha的时候也可以添加一些额外的参数,比如添加--Growl
选项同时更改报告样式为list风格:
$ mocha --reporter list --growl