我有一个使用用户定义的类作为参数的参数化测试,
@ParameterizedTest
@CsvSource({ "1 a", "2 b" })
@Order(8)
void csvSourceIntString(IntString is) {
}
IntString定义如下,注意我定义了toString:
import java.util.Scanner;
class IntString {
int i;
String s;
public IntString(int i, String s) {
this.i = i;
this.s = s;
}
public IntString(String is) {
try (Scanner scanner = new Scanner(is)) {
i = scanner.nextInt();
s = scanner.next();
}
}
@Override
public String toString() {
return "i=" + i + ",s=" + s;
}
}
我期待测试的默认显示名称是
[1] i=1,s=a
[2] i=2,s=b
相反,当我在 Eclipse 中运行它时,它们就是@CsvSource
[1] 1 a
[2] 2 b
这是预期的吗?
顺便说一句,@MethodSource给了我预期的默认显示名称。