测试函数的输入包含数组,例如:
public class SumArray {
... ...
//对数组的前num个数求和,并返回
//进行参数化测试
public int add(int[ ] data, int num) {
... .....
}
}对上面的的add()函数进行参数化测试时怎样编写准备测试数据的函数?
... ...
@RunWith(Parameterized.class)
public class SumArrayTest {
... ...
//对add()函数进行测试,准备数据
@Parameters
public static Collection prepareData() {
//How ???
}
... ....
}
public class SumArray {
... ...
//对数组的前num个数求和,并返回
//进行参数化测试
public int add(int[ ] data, int num) {
... .....
}
}对上面的的add()函数进行参数化测试时怎样编写准备测试数据的函数?
... ...
@RunWith(Parameterized.class)
public class SumArrayTest {
... ...
//对add()函数进行测试,准备数据
@Parameters
public static Collection prepareData() {
//How ???
}
... ....
}
解决方案 »
- JAVA学习迷茫求教
- 日期格式转化
- jpa 非主键字段如何配置为自动增长类型(困扰多时的问题)
- 求助:现在在学SERVLET解决不了问题具体问题表现为表单页面不能跳转
- ant包解压zip文件。。。。求助。。。。。
- 启动Orcale服务后,为啥Tomcat服务启动出错
- JAVA平台,到网站取数据存到自己的数据库中
- TOMCAT里的Tomcat Administration和Tomcat Manager有什么用
- 请教高手,谁用过ant,救急啊~~~~~~~
- java资料,j2ee资料,java软件下载!
- 只能通过 java.lang.Iterable 的数组或实例进行迭代
- Python 和Java数据结构
//进行参数化测试
public int add(int[ ] data, int num) {
int sum=0;
if(data.length>=num){
for(int i=0;i<num;i++){
sum+=data[i];
}
return sum;
}
System.out.println("num值过大,非法参数");
return 0;
}
@Test
public void test3(){
int[] data={1,2,5,6,4};
int num=6;
System.out.println("数组的前"+num+"和为:"+add(data,num));
}
简单测试~你看下吧~
@Parameterized.Parameters
public static Collection data(){
int[] inputArray1 = {0,2,4,5,2,4,1};
Integer[] outputArray1 = {2,4};
int[] inputArray2 = {0,0,0,0,0};
Integer[] outputArray2 = {0};
return Arrays.asList(new Object[][]{
{inputArray1,outputArray1},
{inputArray2,outputArray2} });
}因为要求的是object[][],你不能直接在里面写{},{}来作为一个object,{}会被默认为一个数组,这样的话就是一个三维数组了。你可以用一个变量来代替{},这样就可以 了