Как объединить два огуречных бегуна

#java #junit #jvm-arguments #cucumber-junit

#java #junit #jvm-аргументы #cucumber-junit

Вопрос:

Допустим, у меня есть 2 бегуна (A.class amp; B.class ), которые расширяют родительский класс, и этот родительский класс имеет реализацию @beforeclass {инициализировать все методы использования} и @afterclass {после успешного вызова методов закрыть соединение}. A.class это запуск теста cucumber, и, допустим, при запуске выполняется 1000 тестов. B.class это еще один запуск теста cucumber, и при запуске необходимо пройти 500 тестов. Итак, теперь, как мне объединить эти два класса (т. Е. A.class и B.class ) в один бегун, чтобы я мог запускать все 1500 тестов в одном бегуне вместо использования двух разных бегунов.?

Я попытался создать другой класс с этими двумя загруженными в него классами для запуска один за другим, но однажды A.class инициализирован, он успешно может пройти все тесты из A.class и не удалось установить соединение с B.class поскольку расширенный родительский класс имеет @beforeclass и @afterclass, которые отключаются при выполнении тестов для A.class . Нужно ли мне смотреть на аргументы виртуальной машины.?

К вашему сведению,

 @RunWith(Cucumber.class)
@CucumberOptions(
    features = "----",
    plugin = {"pretty", "json:target/cucumber/cucumber.json", "junit:target/cucumber/cucumber-junit.xml"},
    tags = {"@--", "~@--"}
)

public class A extends parentclass {
}
----------------------------------------------------
@RunWith(Cucumber.class)
@CucumberOptions(
    features = "----",
    plugin = {"pretty", "json:target/cucumber/cucumber.json", "junit:target/cucumber/cucumber-junit.xml"},
    tags = {"@--", "~@--"}
)

public class B extends parentclass {
}
  

Как мне объединить эти два класса, чтобы выполнить все в одном, расширяя этот родительский класс.

Комментарии:

1. Пожалуйста, добавьте классы, то, что они из себя представляют, может помочь нам определить хорошие способы их «объединения». Вы можете создать объект каждого типа <имя_класса>, т. Е. Classname Objectname = new Classname(arguments); и использовать их оба; но «объединение» их, скорее всего, отличается.

2. Я попытался создать новые объекты для каждого класса, но только один из них успешно выполняется, а другой терпит неудачу, сообщая «не удается установить соединение». поскольку родительский класс объявлен с помощью @afterclass , отключите локальное соединение.