Переход с раннера Junit 4 на Parameterized.class на Junit5 - PullRequest
0 голосов
/ 10 октября 2019

Я перемещаю свою кодовую форму из 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);

        }
    }
...