如何在 JUnit 5 中使用字符串数组进行参数化
2022-09-02 04:00:36
						我想编写以字符串数组()作为参数的JUnit 5参数化测试:String[]
@ParameterizedTest
@MethodSource("stringArrayProvider")
void parseFirstAndSecondInt(String[] args) {
    Arguments arguments = new Arguments(args);
    assertEquals(1, arguments.getFirst());
    assertEquals(2, arguments.getSecond());
}
我不确定,如何提供字符串数组的集合/流/迭代器。我尝试过以下带有注释的方法,但没有成功@MethodSource
static Stream<String[]> stringArrayProvider() {
    return Stream.of(
            new String[]{"1", "2"},
            new String[]{"1", "2", "3"});
}
但是我收到这个例外:
org.junit.jupiter.params.converter.ArgumentConversionException:
    No implicit conversion to convert object of type java.lang.String to type [Ljava.lang.String;
拥有这种参数化测试的好设计/解决方案是什么?