我正在使用空手道运行5个API测试方案。当我使用@RunWith(Karate.class)在非并行模式下运行测试时,然后在surefire-reports生成的xml中,所有情况都分别报告为。
<testcase classname="[healthCheck]" name="[1:3] Check health check API returns status code 200" time="2.846"/>
<testcase classname="[healthCheckHeader]" name="[1:6] Check health check API returns status code 200" time="0.285"/>
<testcase classname="[userLogin]" name="[1:3] Check User Login API returns status code 200" time="0.108"/>
<testcase classname="[requestChaining]" name="[1:7] chain request demo" time="0.521"/>
<testcase classname="[viewRequests]" name="[1:10] Check View Requests API returns status code 200" time="0.278"/>
但是,当我使用空手道平行跑步时,则不会单独报告每种情况。
<testcase classname="demoTest.AutomationSuiteParallelCucRunner" name="testParallel" time="10.917"/>
我希望在非并行模式下执行测试时生成类似的并行运行器报告。
以下是在非并行模式下运行测试的代码:
@RunWith(Karate.class)
public class AutomationSuiteTest {
}
以下是在并行模式下运行测试的代码:
@CucumberOptions(tags = {"~@ignore"})
public class AutomationSuiteParallelCucRunner {
@Test
public void testParallel() {
String karateOutputPath = "target/surefire-reports";
KarateStats stats = CucumberRunner.parallel(getClass(), 3, karateOutputPath);
assertTrue("SCENARIO FAILURES!!", stats.getFailCount() == 0);
}
}