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.