Junit 在空手道中,以顺序模式运行功能和场景时,如何处理空手道结果

Junit 在空手道中,以顺序模式运行功能和场景时,如何处理空手道结果,junit,integration-testing,karate,functional-testing,cucumber-junit,Junit,Integration Testing,Karate,Functional Testing,Cucumber Junit,我基本上是在尝试按顺序运行我的场景,并试图找到是否有办法在@AfterClass方法中获得结果的句柄 我知道并行运行是可能的,但我们的必要性是在测试报告中对所有执行的测试进行分解,这在下面实现时是不可能的 public class AllTestRunner { @Test public void testParallel() { Results results = Runner.parallel(1, "classpath:karate/feature&qu

我基本上是在尝试按顺序运行我的场景,并试图找到是否有办法在@AfterClass方法中获得
结果的句柄

我知道并行运行是可能的,但我们的必要性是在测试报告中对所有执行的测试进行分解,这在下面实现时是不可能的

public class AllTestRunner {

   @Test
   public void testParallel() {
      Results results = Runner.parallel(1, "classpath:karate/feature");
   }
}

    1 tests 0 failures 0 ignored 7.373s duration 100% successful 
    Tests Standard output 
    Test Duration Result 
    testParallel 7.373s passed

这种方法的问题是,测试报告只显示为一个执行的测试,这是不期望的

当像下面这样运行时,有没有办法获得结果

@RunWith(Karate.class)
@KarateOptions(features = "classpath:karate/feature")
public class AllTestRunner {

   @AfterClass
   public void testParallel() {
       Results results = ...;
   }

}
基本上,尝试获取结果的目的是在场景失败时执行API调用,方法是选中
result.isFailed()

同样,并行运行测试在测试报告中生成,如下所示

public class AllTestRunner {

   @Test
   public void testParallel() {
      Results results = Runner.parallel(1, "classpath:karate/feature");
   }
}

    1 tests 0 failures 0 ignored 7.373s duration 100% successful 
    Tests Standard output 
    Test Duration Result 
    testParallel 7.373s passed


不,没有。也许您可以探索这些钩子,但请注意,API在1.0-


如果你有这样的不寻常的需求,你应该考虑空手道的代码。所谓的“顺序”模式是连接JUnit的一种方便方式。并行运行程序应该没有问题,我不明白“只执行一个测试”是什么意思。

不,没有。也许您可以探索这些钩子,但请注意,API在1.0-

如果你有这样的不寻常的需求,你应该考虑空手道的代码。所谓的“顺序”模式是连接JUnit的一种方便方式。并行运行程序应该没有问题,我不明白“只执行1个测试”是什么意思