P145MathTool测试类的编写
如果我们在方法的自变量个数事先无法决定如何处理,比如:
System.out.printf("%d",10);
System.out.printf("%d %d",10,20);
System.out.printf("%d %d %d",10,20,30);
但是我们可以采用不定长度自变量。代码如下:
/**
* Created by apple on 2017/5/17.
*/
public class MathTool {
public static int sum(int... numbers) {
int sum = 0;
for(int number : numbers) {
sum += number;
}
return sum;
}
}
根据书上,我们要使用不定长度自变量,在声明参数列时要在类型关键字后加上...,在sum()
方法通过用增强式for循环来取得不定长度自变量中的每元素,可以是这样的:
System.out.println(MathTool.sum(1,2));
System.out.println(MathTool.sum(1,2,3));
根据程序我们分析得到,int...
声明的变量实际展开为数组,该程序是做了一个循环,求数组的和。据此我们编写测试类:
编译通过,同时我们得知,方法上声明的不定长度参数必须是参数列最后,比如:
}
这样就是不合法的:
}
了解到,测试类就是根据程序的功能所给出的测试,我们通过给出数据,来测试程序的功能是否得到实现,P145的MathTool就是一个数组的循环相加,所以我们编写测试类前一定要先弄懂源程序的意思, 在测试类中多用assert.Equals();
来判断数据的正确性