О:
Код: Выделить всё
@Suite
@IncludeEngines("cucumber")
@SelectPackages("de.bla.blubb1")
@SelectClasspathResource("de/bla/blubb1")
@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "de.bla.blubb1")
@ConfigurationParameter(key = PLUGIN_PUBLISH_QUIET_PROPERTY_NAME, value = "true")
@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, value = "pretty,json:target/blubb1cucumber.json")
public class RunBlubb1CucumberTest
{
// nichts zu tun
}
Код: Выделить всё
@Suite
@IncludeEngines("cucumber")
@SelectPackages("de.bla.blubb2")
@SelectClasspathResource("de/bla/blubb2")
@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "de.bla.blubb2")
@ConfigurationParameter(key = PLUGIN_PUBLISH_QUIET_PROPERTY_NAME, value = "true")
@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, value = "pretty,json:target/blubb2cucumber.json")
public class RunBlubb2CucumberTest
{
// nichts zu tun
}
В обоих классах определения шагов есть некоторые повторяющиеся определения шагов (только тело метода отличается) и используются в файлах функций.
Код: Выделить всё
@Gegebensei("Example")
public void gegebenSeiExample(Map map)
{
for (Entry e : map.entrySet())
{
blabla.put(e.getKey(), new BlaMock(e.getValue()));
}
}
Код: Выделить всё
DuplicateStepDefinitionException
io.cucumber.core.runner.DuplicateStepDefinitionException: Duplicate step definitions in de.bla.blubb1.StepDefsEingangsparameter.erstelle() and de.bla.blubb2.StepDefsEingangsparameter.erstelle()
at io.cucumber.core.runner.CachingGlue.lambda$prepareGlue$3(CachingGlue.java:278)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at io.cucumber.core.runner.CachingGlue.prepareGlue(CachingGlue.java:272)
at io.cucumber.core.runner.Runner.runPickle(Runner.java:72)
at io.cucumber.junit.platform.engine.CucumberEngineExecutionContext.lambda$runTestCase$4(CucumberEngineExecutionContext.java:112)
at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$5(CucumberExecutionContext.java:136)
at io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23)
at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:136)
at io.cucumber.junit.platform.engine.CucumberEngineExecutionContext.runTestCase(CucumberEngineExecutionContext.java:109)
at io.cucumber.junit.platform.engine.NodeDescriptor$PickleDescriptor.execute(NodeDescriptor.java:168)
at io.cucumber.junit.platform.engine.NodeDescriptor$PickleDescriptor.execute(NodeDescriptor.java:90)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Определения шагов должны быть оставаться такими, какие они есть (требование). Я знаю, что мог бы просто переименовать их.
Есть ли способ запустить эти два пакета «отдельно»?
(без изменения maven и run config)
Я хочу, чтобы эти два класса набора огурцов запускались отдельно (в разных потоках? jvms?), предпочтительно определенные где-то с помощью аннотации или свойства конфигурации.
Подробнее здесь: https://stackoverflow.com/questions/791 ... efinitions