int[] par = ...{4,4,4,4,5,4,4,3,4,4,3,4,4,5,4,4,4,4};
c.setPar(par);
第1洞与第2洞标准杆之和显然为4+4=8,所以可以编写下面这样的代码进行测试:
if ( c.parUpToHole(2) != 8 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 2 holes not 8");
}
如果运行上面的代码获得一个错误信息的话,那我们就有一个bug需要修复了。如果她只是默默地运行,哈哈,那就一切正常。
你可以写一段代码用来测试这18个洞,但大多数程序员知道只需要测试边界值,即0个和18个洞,以及中间几个值就可以达到要求。例如:
if ( c.parUpToHole(0) != 0 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 0 holes not 0");
}
if ( c.parUpToHole(2) != 8 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 2 holes not 8");
}
if ( c.parUpToHole(8) != 72 ) ...{
System.out.println("*** Error in Course.parUpToHole: par for 8 holes not 72");
}
上面的代码,比较了一些值,然后根据比较的结果进行相应的处理,尽管实际有效,却缺乏代码的艺术性。通过这个程序,可以对"parUpToHole"进行单元测试,运行后,我们将赞赏地肯定这个方法是如预定的那样工作。
其实,我们可以做得更加漂亮……
文章来源于领测软件测试网 https://www.ltesting.net/