如何在HTML中获取节点应用程序的Mocha测试结果报告

Chr*_*eek 5 testing report mocha.js node.js

当我在Windows命令行上运行以下命令时,mocha --reporter spec > report.html会得到一些我无法在浏览器中真正使用的东西。

[0m[0m
[0m  Routes[0m
  [32m  ?[0m[90m all GET routes should be bound to a function [0m
  [32m  ?[0m[90m all POST routes should be bound to a function [0m
  [32m  ?[0m[90m should have one for creating CU [0m

[0m  Database[0m
  [32m  ?[0m[90m should be online, connectable and the right one [0m[31m(156ms)[0m

[0m  HTTPS API[0m
[0m    authentication[0m
    [32m  ?[0m[90m is mandatory [0m[31m(1109ms)[0m
[0m    entity[0m
    [32m  ?[0m[90m lookup should work [0m[31m(172ms)[0m
    [36m  - creation should work[0m

[0m  Website[0m
[0m    pages[0m
    [32m  ?[0m[90m should contain quite a few of them [0m
    [32m  ?[0m[90m all of them should have internal links to existing pages [0m


[92m [0m[32m 8 passing[0m[90m (2s)[0m
[36m [0m[36m 1 pending[0m
Run Code Online (Sandbox Code Playgroud)

我想要一些输出,如本例http://visionmedia.github.io/mocha/example/tests.html所示,该输出 实际上将文档与测试结果结合在一起。仅测试结果就足够了。

我确实告诉过我有关HTML的代码覆盖率的所有搜索,但我暂时不希望这样做。我只需要可以在浏览器中查看的Mocha之外的html报告(测试我的节点应用程序)。当然,我可以自己做一些事情,但这似乎微不足道,所以我希望有人创建了一个自定义记者

Tal*_*mam 6

你可以使用mochawesome。它非常高效,可以输出 JSON 和样式优雅的 HTML 报告。

由于我们大多数人都在全球范围内安装了 mocha,因此最好也在全球范围内安装 mochawesome。

npm install -g mochawesome
Run Code Online (Sandbox Code Playgroud)

然后运行:

mocha --reporter mochawesome
Run Code Online (Sandbox Code Playgroud)

从您的测试目录。


Chr*_*eek 2

我在mocha-unfunk-reporter中找到了答案。一个没有控制台风格但具有 html 报告功能的 mocha 报告器。

使用方法如下:

  1. npm install mocha-unfunk-reporter 如果您全局安装了 Mocha,则还需要全局安装 mocha-unfunk-reporter(添加 -g),否则您会收到 mocha invalid reports 错误。

  2. 在 test.js 中添加选项以使用 css 颜色或 css 类设置样式htmlcss后者使用样式:process.env['mocha-unfunk-style'] = 'css';

  3. 跑步mocha --reporter mocha-unfunk-reporter > unfunk.html

你会得到:

<span class="mw-plain"></span>
<span class="mw-accent">-></span> running <span class="mw-accent">4 suites</span>

   <span class="mw-accent">Routes</span>
      <span class="mw-plain">all GET routes should be bound to a function.. </span><span class="mw-success">ok</span>
      <span class="mw-plain">all POST routes should be bound to a function.. </span><span class="mw-success">ok</span>
      <span class="mw-plain">should have one for creating CU.. </span><span class="mw-success">ok</span>

   <span class="mw-accent">Database</span>
      <span class="mw-plain">should be online, connectable and the right one.. </span><span class="mw-success">slow</span><span class="mw-error"> (125ms)</span>

   <span class="mw-accent">HTTPS API</span>
      <span class="mw-accent">authentication</span>
         <span class="mw-plain">is mandatory.. </span><span class="mw-success">medium</span><span class="mw-warning"> (47ms)</span>
      <span class="mw-accent">entity</span>
         <span class="mw-plain">lookup should work.. </span><span class="mw-success">ok</span>
         <span class="mw-plain">creation should work.. </span><span class="mw-warning">pending</span>

   <span class="mw-accent">Website</span>
      <span class="mw-accent">pages</span>
         <span class="mw-plain">should contain quite a few of them.. </span><span class="mw-success">ok</span>
         <span class="mw-plain">all of them should have internal links to existing pages.. </span><span class="mw-success">ok</span>

<span class="mw-plain">-> </span><span class="mw-success">passed 12</span> of <span class="mw-accent">12 tests</span>, left <span class="mw-warning">1 pending</span> (282ms)
Run Code Online (Sandbox Code Playgroud)

正是我所需要的!