Junit 参数化测试通常返回一个 Object 数组的集合,但测试类的构造函数类型可以是什么?
例如:-
//Some class constructor
public parametrization (String username, String password, int pincode){
this.username=username;
this.password=password;
this.pincode=pincode;
}
@Parameters
public static Collection<Object[]> getdata(){
Object[][] data = new Object[2][3];
//row 1st
data [0][0] = "usernamea";
data [0][1] = "passa";
data [0][2] = new Integer(111);
}
如您所见,该方法返回的参数getdata()
实际上是对象类型,但在运行时它们被分配给构造函数的参数,这些参数是对象的其他子类类型,如字符串、整数等,根据 Java 规则不兼容,例如:- 不能将字符串类型对象分配给对象类型...
那么是不是 Junit 框架将返回的值类型转换为 Object 类型以适应构造函数参数类型(例如 String)?
我在这里错过了什么吗?