REPORTERS

Mocha报告会自适应终端窗口,如果终端类型非TTY类型,会禁用ANSI-escape颜色。

SPEC


这是默认的测试报告,输出的格式是一个嵌套的分级视图。

REPORTERS - 图1

REPORTERS - 图2

DOT MATRIX


dot matrix视图报告使用一系列的字符来表示报告的结果,失败的测试使用红色的!来表示,pending测试使用蓝色的,来表示。慢的测试用黄色的.来表示。这个终端输出的内容最少。

REPORTERS - 图3

NYAN


“nyan”报告就是你所期望的那样(谜一样的解释):

REPORTERS - 图4

TAP


The TAP reporter emits lines for a Test-Anything-Protocol consumer.

REPORTERS - 图5

LANDING STRIP


landing strip飞机降落的跑道,测试报告就是像一架飞机轨道一样的视图。

REPORTERS - 图6

REPORTERS - 图7

LIST


“list”报告就是简单的输出一个列表来显示每个测试用例是否通过或失败,对于失败的测试用例,会在下面输出详细的信息。

REPORTERS - 图8

PROGRESS


“progress”报告就是一个包含进度条的视图。

REPORTERS - 图9

JSON


json视图会输出一个json对象作为结果

REPORTERS - 图10

JSON STREAM


输出的也是一个json,不同测试用例以换行符进行分割。

REPORTERS - 图11

MIN


这个报告只显示测试的整体情况,但是仍然会输出错误和失败的情况。和—watch选项结合使用最好。

REPORTERS - 图12

DOC


生成一个只包含html的body内容的测试报告。

REPORTERS - 图13

例如,假设你有下面的javascript代码:

  1. describe('Array', function() {
  2. describe('#indexOf()', function() {
  3. it('should return -1 when the value is not present', function() {
  4. [1,2,3].indexOf(5).should.equal(-1);
  5. [1,2,3].indexOf(0).should.equal(-1);
  6. });
  7. });
  8. });

通过mocha --reporter doc array会生成如下的报告:

  1. <section class="suite">
  2. <h1>Array</h1>
  3. <dl>
  4. <section class="suite">
  5. <h1>#indexOf()</h1>
  6. <dl>
  7. <dt>should return -1 when the value is not present</dt>
  8. <dd><pre><code>[1,2,3].indexOf(5).should.equal(-1);
  9. [1,2,3].indexOf(0).should.equal(-1);</code></pre></dd>
  10. </dl>
  11. </section>
  12. </dl>
  13. </section>

MARKDOWN


“markdown”格式的报告会给你的测试用例生成一个markdown内容。如果你想使用github wiki或者生成一个github能够渲染的markdown文件,这种格式十分有用。这有一个例子test output

HTML


只有在浏览器中使用Mocha的时候才能生成这种报告。

REPORTERS - 图14

UNDOCUMENTED REPORTERS


“XUnit”类型的报告也是可以使用的。默认情况下,只会在console控制台中输出。为了将报告写入一个文件中,使用--reporter-options output=filename.xml

THIRD PARTY REPORTERS


Mocha也可以使用第三方报告生成器,具体的件文档