karma test runner在控制台中详细测试报告

时间:2013-06-15 04:30:16

标签: karma-runner

我刚开始使用业力单元测试我的角度应用程序。一切按预期工作

  

Chrome 26.0(Windows):执行1 of 1
  Chrome 26.0(Windows):执行1成功1次(0.878秒/ 0.112秒)

但是,有没有办法输出有关测试结果的更多信息。例如,它正在执行的Suite和测试名称及其结果。我已经阅读了很少的教程,其中Jasmine测试结果在浏览器中输出。我想知道它也可以在业力中实现。

6 个答案:

答案 0 :(得分:17)

我正在寻找类似的东西,并发现:https://github.com/usrz/javascript-karma-verbose-reporter。生成这种输出:

$ karma start --reporters=verbose

Suites and tests results:

 - the app.router.config module :
   * contains a router property : ok
   * configures the router title : ok
   * should have a login route : ok
 - the organization module :
   * contains a state property : ok
   * should have a streams route after configuration : ok
   * when activated, should set state based on organization in route : ok
 - the streams module :
   * points to state : ok
   * loads organization streams upon activation : ok
   * loads organization streams via API : ok

Browser results:

 - PhantomJS 1.9.8 (Mac OS X 0.0.0): 9 tests
   - 9 ok

要将此选项设为默认选项,您可以将其添加到您的karma配置中,例如:

reporters: ['verbose', 'junit']

答案 1 :(得分:15)

我刚刚为Karma完成了一个HTML记者,所以你可以把它添加到记者那里。您将在控制台中获得一些其他信息,但您可以在配置中使用“singleRun = true”。该插件位于:

https://npmjs.org/package/karma-htmlfile-reporter

通过“npm install karma-htmlfile-reporter -g”安装插件后,您只需要在karma.conf.js中添加一些行:

reporters: ['progress', 'html'],

htmlReporter: {
  outputFile: 'tests/units.html'
},

plugins: [
  // ... your other plugins here
  'karma-htmlfile-reporter'
]

现在,在运行Karma测试后,该插件将生成一个样式化的HTML文件,您可以在浏览器中查看。

答案 2 :(得分:8)

正如Ilja所说,我不知道你想从成功的测试中得到什么样的信息。但是,如果您在浏览器中运行测试,则可以打开调试页面: 可能在http://localhost:9876/debug.html。 所有单元测试都会在那里记录到控制台。

答案 3 :(得分:7)

我认为 Documention 可以帮助您在控制台中配置其输出。

如上所述:

reporters: ['progress', 'junit']
  • '进度'用于控制台中的输出
  • 'junit'是外部文件输出的karma插件。 :)

答案 4 :(得分:1)

@CarlesBarrobés的回答。最初的问题是谈论角度应用。所以我想我将列出使它与ng test

一起使用的步骤

安装详细的报告程序:

npm install --save-dev karma-verbose-reporter

更新您的karma.conf.js文件以包括以下内容:

module.exports = function (config) {
  config.set({
    plugins: [
      require('karma-verbose-reporter')
    ],
    reporters: ['verbose']
  });
};

请注意,我只包括了与报告相关的设置,当然,将其他设置保留在配置文件中。

现在您可以运行ng test来获取详细的输出

答案 5 :(得分:0)

我得到了你想要的。您想在控制台本身中获得详细的报告。

使用'进展',它只能打印出“如此多的成功。但是没有详细的报告。”

示例:执行1次成功1次(0.878秒/0.112秒)

reporters: ['progress']

要在控制台本身中打印详细信息报告,请使用“ mocha”报告,该报告将在控制台中打印“ kjhtml”在浏览器中执行的详细信息。

reporters: ['mocha']

mocha在控制台本身中打印,与phantomjs浏览器和chrome无头浏览器一起使用

您必须具有相同的插件。遵循link进行相同操作