Karma转轮控制台 - 仅输出失败的测试

时间:2013-08-08 08:21:15

标签: javascript unit-testing karma-runner

这是Karma test runner的默认输出(测试失败):

.
..  
...
e 28.0 (Windows): Executed 413 of 421 (1 FAILED)
e 28.0 (Windows): Executed 414 of 421 (1 FAILED)
e 28.0 (Windows): Executed 415 of 421 (1 FAILED)
e 28.0 (Windows): Executed 416 of 421 (1 FAILED)
e 28.0 (Windows): Executed 417 of 421 (1 FAILED)
e 28.0 (Windows): Executed 418 of 421 (1 FAILED)
e 28.0 (Windows): Executed 419 of 421 (1 FAILED)
e 28.0 (Windows): Executed 420 of 421 (1 FAILED)
e 28.0 (Windows): Executed 421 of 421 (1 FAILED)
e 28.0 (Windows): Executed 421 of 421 (1 FAILED) (1.74 secs / 1.091 secs)

我不喜欢这样一个事实:必须一直滚动到未能看到异常的测试。这可能会让人讨厌,所以我的问题是,是否有可能以某种方式更改输出,以便只在控制台中报告失败的测试?

因此,在一次测试失败的情况下,我希望输出类似于此:

Chrome 28.0 (Windows) FailedTest only should be printed to console FAILED
    ReferenceError: something is not defined
        at null.<anonymous> (c:/SuperProject/src/test/FailedTest.js:10:10)
Chrome 28.0 (Windows): Executed 71 of 421 (1 FAILED)

而不是上面的输出。

3 个答案:

答案 0 :(得分:39)

查看http://karma-runner.github.io/0.10/config/configuration-file.html

您是否尝试过将配置设置为使用空的reporters数组? Karma v0.10默认为['progress']的报告者配置,这可能会导致您的详细输出。

你可能会喜欢'点'记者。您可以使用

在CLI上尝试
karma start yourconfig.js  --reporters dots

答案 1 :(得分:4)

我自己使用了一些非常详细的业力记者,我不得不向上滚动终端以找到我的错误。这让我很生气,所以我写了一个记者报告失败的测试。它与&#39; karma-spec-reporter&#39;结合使用效果很好。

https://github.com/jaapz/karma-failed-reporter

答案 2 :(得分:2)

我发现使用了点记者和设置:

client: {
    captureConsole: false
}
karma配置文件中的

将我的问题排除在外。 client.captureConsole会停止显示任何console.log()