【发布时间】:2021-02-27 02:26:48
【问题描述】:
我基本上是在尝试按顺序运行我的场景并尝试查找是否有办法在@AfterClass 方法中获取Results 的句柄。
我知道并行运行是可能的,但我们的必要性是在测试报告中对所有执行的测试进行分解,这在像下面这样实现时是不可能的。
public class AllTestRunner {
@Test
public void testParallel() {
Results results = Runner.parallel(1, "classpath:karate/feature");
}
}
这种方法的问题在于,测试报告显示为仅执行了 1 个测试,这是预期之外的。
有没有办法在像下面这样运行时获得结果?
@RunWith(Karate.class)
@KarateOptions(features = "classpath:karate/feature")
public class AllTestRunner {
@AfterClass
public void testParallel() {
Results results = ...;
}
}
基本上,尝试获取结果的目的是在场景失败时执行 API 调用,方法是检查 result.isFailed()。
同样,并行运行测试会在测试报告中生成,如下所示。
1 tests 0 failures 0 ignored 7.373s duration 100% successful
Tests Standard output
Test Duration Result
testParallel 7.373s passed
【问题讨论】:
标签: junit integration-testing karate functional-testing cucumber-junit