使用空手道V1.4.1...
我有一个包含多个特性文件的项目,所有这些文件都是数据驱动的(Scenario Outline).
驱动这一切的是一个跨4个线程运行所有这些的Java文件,如下所示:
class TestSuiteTest {
@Test
public void testSuiteTest() {
Results results = Runner.path()
.tags()
.outputJunitXml(true)
.outputCucumberJson(true)
.relativeTo(getClass())
.parallel(4);
assertEquals(0, results.getFailCount(), results.getErrorMessages());
}
}
如果我通过maven命令行运行所有的测试,比如:
mvn clean test -Dtest=TestSuiteTest
一切都按预期运行,测试跨4个线程运行.但是,如果我使用标签触发单个测试(Scenario Outline,由10行的. csv文件驱动),请通过如下命令:
mvn clean test -Dtest=TestSuiteTest -Dkarate.options='--tags @name=one'
它只在一个线程上运行.
我甚至try 删除所有其他测试,这样我就只有一个特性文件,结果是一样的—不指定标记会使它运行多线程,指定标记会运行单线程.
只是想知道有没有人能分享一下这方面的信息.我希望它能在所有场景中使用所有4个线程.
下面是所讨论的测试的 struct ,其中test_data设置在config中:
Feature: XXX
@setup
Scenario:
@name=one
Scenario Outline: XXX
* def caseDescription = 'XXX'
Examples:
| karate.setup().test_data |
谢谢,
保罗