谁能帮助我重新运行空手道中失败的功能。下面是用于并行的黄瓜选项和流道测试-
@CucumberOptions(features = "classpath:features/xxxxx/crud_api",
format = {"pretty", "html:target/cucumber","json:target/cucumber/report.json", "rerun:target/rerun/rerun.txt" })
@Test
public void test() throws IOException {
Results results = KarateRunnerTest.parallel(getClass(), threadCount, karateOutputPath);
assertTrue("there are scenario failures", results.getFailCount() == 0);
}
答案 0 :(得分:0)
空手道不支持此功能,但是在开发模式下(例如,使用IDE),您始终可以手动重新运行失败的测试。
您似乎使用了空手道不支持的注释选项,例如format
。阅读文档,了解受支持的文档仅限于features
和tags
。
答案 1 :(得分:0)
这是我使用 karate-1.0#retry-framework-experimental 的可重用实现,
Results retryFailedTests(Results results) {
System.out.println("======== Retrying failed tests ========");
Results initialResults = results;
List<ScenarioResult> retryResult = results.getScenarioResults().filter(ScenarioResult::isFailed)
.parallel()
.map(scenarioResult -> initialResults.getSuite().retryScenario(scenarioResult.getScenario()))
.collect(Collectors.toList());
for (ScenarioResult scenarioResult : retryResult) {
results = results.getSuite().updateResults(scenarioResult);
}
return results;
}
这个java函数负责并行重试失败的场景。您可以检查 karate-timeline.html
报告以验证是否并行重试失败的场景。