JUnitParamsRunner-无法将变量参数或对象数组传递给测试()?
我发现我无法声明JUnitParamsRunner-无法将变量参数或对象数组传递给测试()?,junit,Junit,我发现我无法声明公共无效测试(Obj…objects)并使用JUnitParamsRunner参数化我的测试..运行时引发的异常。 但是,如果我将其更改为公共无效测试(Obj obj1、Obj obj2) 有什么想法吗?代码如下: private静态对象[]testingParam(){ 返回新对象[]{newobject[]{newobj(“123”),newobj(“123”)}; } @试验 @参数(方法=“测试参数”) 公共无效测试(Obj…对象){ //做一些测试 } 虽然我没
公共无效测试(Obj…objects)
并使用JUnitParamsRunner参数化我的测试..运行时引发的异常。
但是,如果我将其更改为公共无效测试(Obj obj1、Obj obj2)
有什么想法吗?代码如下:
private静态对象[]testingParam(){
返回新对象[]{newobject[]{newobj(“123”),newobj(“123”)};
}
@试验
@参数(方法=“测试参数”)
公共无效测试(Obj…对象){
//做一些测试
}
虽然我没有机会测试这一点,但您可能需要一个Obj[]
数组,而不是Object[]
数组来匹配vararg。请注意Object[]
和Obj[]
不是协变的,不能相互转换
private static Object[] testingParam() {
return new Object[] { new Obj[] { new Obj("123"), new Obj("123") } };
}
相反,如果您试图忽略varargs并将该参数视为原始数组,则可能需要第三个数组包装器:
private static Object[] testingParam() {
return new Object[] { // <-- call the testing method once
new Object[] { // <-- with this array of parameters
new Obj[] { // <-- and the first parameter is a 2-element Obj array
new Obj("123"), new Obj("123") } } };
}
private静态对象[]testingParam(){
返回新对象[]{//