RUNNING MOCHA IN THE BROWSER

Mocha可以在浏览器中使用。每次Mocha发版,都会生成一个新的./mocha.js和./mocha.css文件,以便在浏览器中使用。

BROWSER-SPECIFIC METHODS


下面的方法只能在浏览器中使用。

mocha.allowUncaught():未捕获的错误不会被抛出。

下面是一个典型的例子。在加载测试脚本之前,使用mocha.setup(‘bdd’)函数把测试模式设置为BDD接口,测试脚本加载完之后用mocha.run()函数来运行测试。

  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>Mocha Tests</title>
  5. <link href="https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.css" rel="stylesheet" />
  6. </head>
  7. <body>
  8. <div id="mocha"></div>
  9. <script src="https://cdn.rawgit.com/jquery/jquery/2.1.4/dist/jquery.min.js"></script>
  10. <script src="https://cdn.rawgit.com/Automattic/expect.js/0.3.1/index.js"></script>
  11. <script src="https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.js"></script>
  12. <script>mocha.setup('bdd')</script>
  13. <script src="test.array.js"></script>
  14. <script src="test.object.js"></script>
  15. <script src="test.xhr.js"></script>
  16. <script>
  17. mocha.checkLeaks();
  18. mocha.globals(['jQuery']);
  19. mocha.run();
  20. </script>
  21. </body>
  22. </html>

GREP


浏览器中可以通过在url后边加?grep=api参数,来使用grep命令。

BROWSER CONFIGURATION


可以通过mocha.setup()方法来设置配置:

  1. // Use "tdd" interface. This is a shortcut to setting the interface;
  2. // any other options must be passed via an object.
  3. mocha.setup('tdd');
  4. // This is equivalent to the above.
  5. mocha.setup({
  6. ui: 'tdd'
  7. });
  8. // Use "tdd" interface, ignore leaks, and force all tests to be asynchronous
  9. mocha.setup({
  10. ui: 'tdd',
  11. ignoreLeaks: true,
  12. asyncOnly: true
  13. });

BROWSER-SPECIFIC OPTION(S)


下面的选项只能在浏览器中使用。

noHighlighting:如果为true,在输出结果中语法不会高亮。

MOCHA.OPTS


在服务端运行的时候,mocha会去加载test目录下的mocha.opts文件,来读取mocha配置项。这个配置文件中的每一行代表一项配置。如果运行mocha命令的时候,带上的配置参数与这个配置文件中的配置冲突的话,以命令中的为准。

假设你有如下的mocha.opt文件:

  1. -- require should
  2. -- reporter dot
  3. -- ui bdd

上面的配置就会让mocha 引入一下should模块、报告样式设置为dot,并且使用bdd的测试接口。在这个基础上,运行mocha的时候也可以添加一些额外的参数,比如添加--Growl选项同时更改报告样式为list风格:

  1. $ mocha --reporter list --growl