Я перемещаю свою кодовую форму из junit 4 в 5. В junit 4 у меня есть бегун @RunWith (Parameterized.class), который запускает каждый мой тест несколько раз с разными параметрами, но в настоящее время Parameterized.class не поддерживается вJunit 5.
Есть ли какая-то другая альтернатива для меня, чтобы запустить мой тест несколько раз, используя разные параметры, такие как junit 4 (Parameterized.class), без использования каких-либо входных источников, таких как @MethodSource, так как я использую@MethodSource для ввода параметров функциональности теста.
Я пытался использовать ParameterizedExtension.class согласно https://github.com/junit-team/junit5/issues/715, используя jar junit-jupiter -igration-support, но он не работает.
***Junit 4 Parameterized.class***
@RunWith(Parameterized.class)
public class ParameterizedJunit4 {
@Parameters(name = "size:{2}")
public static Collection sampleMethod() {
return Arrays.asList(new Object[][] {
{800, 400, "a"},
{800, 800, "b"},
{800, 1100, "c"},
{800, 1400, "d"},
{-1, -1, "e"}
});
}
@Parameter(0)
public int height;
@Parameter(1)
public int width;
@Parameter(2)
public String sizeName;
}
**Test Class**
public class Junit5SampleTest extends ParameterizedJunit4 {
static Stream<Arguments> registrationInputParameters() {
return Stream.of(
Arguments.of("Registration", email, password, height, width, sizeName)
}
@ParameterizedTest()
@MethodSource("registrationInputParameters")
public void junit5(String testName, String email, String password,int height, int width, String sizeName) {
RegistrationPage regPage = new RegistrationPage();
regPage.adjustSize(height, width, sizeName);
regPage.register(email, password);
}
}