仅打印以茉莉花为重点的测试

Print only jasmine focused tests

很难描述 jasmine >=2.1 的 "Focused Specs" 特性是多么有用和方便。通过使用 fdescribe and/or fit 我们可以 运行 仅指定的测试而不修改量角器配置。

唯一的问题是控制台上的输出。 它打印出每个与量角器配置中的模式相匹配的规范

首先,打印重点规格测试结果。此信息很有用:

Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Started
open Case Screen
  should display correct url ...
 Passed
.  should display summary description ... 
 Passed

然后,有一个包含 "Disabled" 个测试的巨大输出(向下滚动约 20 秒):

click the Back button after switching environment
  should redirect to Queue in previous environment ...
 Disabled
1 of 1 passed (0 skipped, 1 disabled).
...
'You have been logged out.' alert message
  should show a alert message after closing all sessions in another browser window ...
 Disabled
1 of 1 passed (0 skipped, 1 disabled).
SUCCESS: 202 specs, 0 failures, 0 skipped, 199 disabled in 12.89s.

换句话说,执行了202个规格中只有3个,但是控制台上打印了所有202个,其中199个被禁用。

有没有办法避免在控制台上写入禁用规范,同时获得有关重点测试的详细信息?


请注意,我们使用的是 jasmine-reporters 中的 TerminalReporter

jasmine.getEnv().addReporter(new jasmineReporters.TerminalReporter({
    verbosity: 3,
    color: true,
    showStack: true
}));

verbosity 设置为 < 3 有助于解决禁用测试的问题,但在这种情况下,我们无法获得有关重点测试的任何信息:

Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Started
...SUCCESS: 202 specs, 0 failures, 0 skipped, 199 disabled in 12.225s.

202 specs, 0 failures

对于那些将来遇到同样问题的人 - 决定使用不同的终端报告器 - jasmine-spec-reporter - 它是完全可配置的,并提供更精确和更好的格式化输出(参见这些很棒的复选框,对于示例):

请注意,它仍然会报告有关已执行测试的最大信息。这正是我们在这种情况下所需要的。