当我在我的 web 应用程序上运行 karma 时,我只会收到诸如通过测试之类的通用消息 - 有没有办法获得通过测试的列表?如何获得更详细的输出?
我在文档中的任何地方都找不到这个。
当我在我的 web 应用程序上运行 karma 时,我只会收到诸如通过测试之类的通用消息 - 有没有办法获得通过测试的列表?如何获得更详细的输出?
我在文档中的任何地方都找不到这个。
我知道如何做到这一点!
Karma 的终端输出来自名为 Reporters 的对象。Karma 附带了一些内置的 Reporter(它们可以在 中找到karma/lib/reporters
)。Karma 还能够使用自定义记者。
您可以指定在项目karma.config.js
文件中使用哪些报告器。
例如,'dots' 报告器仅在每个测试通过时打印一个点:
reporters: ['dots'],
“进度”记者打印的不仅仅是点:
reporters: ['progress'],
当测试成功或失败时,自定义报告器 karma-spec-reporter会打印每个测试的名称(但仅此而已):
reporters: ['spec'],
您可能想要滚动自己的记者,因为 karma-junit-reporter、karma-spec-reporter 和包含的记者可能无法满足您的需求。
我猜想在这种情况下自定义 karma-spec-reporter 是最好的选择,因为它在测试成功时已经打印了一行。
如果您正在寻找更简单的工作,这是我构建的自定义报告器。它报告没有终端颜色的通过和失败的测试。
我推荐 Karma Spec Reporter。这会给你一个像这样漂亮的单元测试报告。
如何使用它:
在项目的命令行中,
npm install karma-spec-reporter --save-dev
在
karma.conf.js
,... config.set({ ... reporters: ["spec"], specReporter: { maxLogLines: 5, // limit number of lines logged per test suppressErrorSummary: true, // do not print error summary suppressFailed: false, // do not print information about failed tests suppressPassed: false, // do not print information about passed tests suppressSkipped: true, // do not print information about skipped tests showSpecTiming: false // print the time elapsed for each spec }, plugins: ["karma-spec-reporter"], ...
就这些。享受。
将此插件与 karma 0.9.0 或更高版本一起使用
您可以将日志添加到您的测试规范中。查看 log4js 节点: