如何在 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;
拥有这种参数化测试的好设计/解决方案是什么?