51

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

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

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

4

6 回答 6

25

我在寻找类似的东西,发现了这个: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

要使其成为默认选项,您可以将其添加到您的业力配置中,例如:

reporters: ['verbose', 'junit']
于 2015-10-03T22:12:50.297 回答
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 文件,您可以在浏览器中查看。

于 2013-10-06T23:18:35.780 回答
9

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

于 2013-07-12T12:03:21.857 回答
8

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

如所述:

reporters: ['progress', 'junit']
  • “进度”用于控制台中的输出
  • 'junit' 是一个 karma 插件,用于在外部文件中输出。:)
于 2013-08-27T10:06:14.960 回答
8

遵循@Carles Barrobé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以获取详细输出

于 2019-02-27T21:25:06.330 回答
1

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

使用“进度”,它只会打印“this many success out of this. but not detail report”之类的内容。

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

reporters: ['progress']

为了在控制台本身打印详细报告,请使用“mocha”报告,该报告在控制台中打印详细信息执行,就像“kjhtml”在浏览器中所做的那样。

reporters: ['mocha']

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

你必须有相同的插件。按照相同的链接

于 2019-02-27T06:17:30.080 回答