【发布时间】:2013-08-12 01:53:21
【问题描述】:
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() 方法返回的参数实际上是 object 类型,但在运行时它们被分配给构造函数的参数,这些参数是 Object 的其他子类类型,如 String、Integer 等,这是不兼容的根据 Java 规则,例如:- 不能将字符串类型对象分配给对象类型...
那么是 Junit 框架将返回的值类型转换为 Object 类型以适应构造函数参数类型(例如 String)吗?
我错过了什么吗?
【问题讨论】: