我刚开始用业力对我的角度应用程序进行单元测试。一切都按预期工作
Chrome 26.0 (Windows):执行 1 of 1
Chrome 26.0 (Windows):执行 1 of 1 成功(0.878 秒 / 0.112 秒)
但是,有什么方法可以输出有关测试结果的更多信息。例如,它正在执行的套件和测试名称及其结果。我已经阅读了一些 Jasmine 测试结果在浏览器中输出的教程。我想知道它也可以在业力中实现。
我刚开始用业力对我的角度应用程序进行单元测试。一切都按预期工作
Chrome 26.0 (Windows):执行 1 of 1
Chrome 26.0 (Windows):执行 1 of 1 成功(0.878 秒 / 0.112 秒)
但是,有什么方法可以输出有关测试结果的更多信息。例如,它正在执行的套件和测试名称及其结果。我已经阅读了一些 Jasmine 测试结果在浏览器中输出的教程。我想知道它也可以在业力中实现。
我在寻找类似的东西,发现了这个: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']
我刚刚完成了 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 文件,您可以在浏览器中查看。
正如 Ilja 所说,我不知道您希望从成功的测试中获得什么样的信息。但是,如果您在浏览器中运行测试,则可以打开调试页面:可能在http://localhost:9876/debug.html
. 所有单元测试都记录到那里的控制台。
我认为这个Documention可以帮助您在控制台中配置其输出。
如所述:
reporters: ['progress', 'junit']
遵循@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
以获取详细输出
我得到了你想要的。您需要控制台本身的详细报告。
使用“进度”,它只会打印“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 无头浏览器一起使用
你必须有相同的插件。按照相同的链接