Parametrization for BeforeEach, AfterEach in JUnit5 without ParameterResolver Parametrization for BeforeEach, AfterEach in JUnit5 without ParameterResolver selenium selenium

Parametrization for BeforeEach, AfterEach in JUnit5 without ParameterResolver


If the number of different browsers is reasonably small you could go with a simple abstract test class approach. Here's a sketch:

abstract class BaseSmokeTest {  abstract String getBrowserName();  @BeforeEach  public void prepare() {    WebDriver driver = initializeWebDriver(getBrowserName());    WebDriverRunner.initialize(driver);  }  @Test  void test1() {}  @Test  void test2() {}}class FirefoxSmokeTest extends BaseSmokeTest {  String getBrowserName() { return "firefox"; }}class ChromeSmokeTest extends BaseSmokeTest {  String getBrowserName() { return "chrome"; }} 

Jupiter will now run two test classes: ChromeSmokeTest and FirefoxSmokeTest. Each test method in BaseSmokeTest will be run twice, once for each concrete test class.