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();来判断数据的正确性

posted @ 2017-05-17 08:51  Heineken  阅读(204)  评论(0编辑  收藏  举报