我们正在使用量角器 - 片段来重新运行任何失败的测试。我们正在从Jenkins迁移到TeamCity,并且在重新运行期间测试通过时,测试报告无法按预期工作。
在Jenkins中,我们使用了jasmineReporters.JUnitXmlReporter,它显示了正确的结果,因为失败的测试xml将被成功覆盖。当Jenkins处理要报告的xml文件时,它正在使用最新的文件。
在TeamCity中,我们正在尝试使用jasmineReporters.TeamCityReporter,它似乎会在测试失败时立即报告测试失败,并且如果测试在重新运行时传递则不会更新。我假设这也意味着如果重新运行测试失败,TeamCity将报告两次失败。看看teamcity_reporter.js,由于TeamCity的要求,这似乎是设计的。
// TeamCity specifies there should only be a single `testFailed`
// message, so we'll only grab the first failedExpectation
if (isFailed(spec) && spec.failedExpectations.length) {
var failure = spec.failedExpectations[0];
tclog("testFailed", {
name: spec.description,
message: failure.message,
details: failure.stack
});
}
有没有人想出解决方案?