宁海建设局网站,拓者设计吧官方网站,适合女生的计算机专业有哪些,浙江二建建设集团有限公司网站[b] 问题#xff1a;[/b] 怎么测试一个对象的get方法#xff1f;怎么判断哪些需要测试#xff0c;哪些不需要呢#xff1f;
[b] 情景#xff1a;[/b] 对于JUnit测试的新兵来说也是程序测试的新兵。他们最想知道的是什么要测试#xff0c;什么不需要测试。所有一般来说先…[b] 问题[/b] 怎么测试一个对象的get方法怎么判断哪些需要测试哪些不需要呢
[b] 情景[/b] 对于JUnit测试的新兵来说也是程序测试的新兵。他们最想知道的是什么要测试什么不需要测试。所有一般来说先从最简单的测试开始入手是个好的选择。但是正因为是新兵所以会出现编写很多很多的测试。导致认为测试无聊而导致情绪的低落在者这样的测试实际上从效果上不怎么好。希望测试人员要注意尽量编写[b]有效[/b]测试案例。
[b]原则[/b] 第一个原则 如果一个get方法只是简单的返回域内的值那么就不用去考虑去为它写测试程序但是如果这个方法做了一些更为复杂的操作那么还是要考虑测试一下。如果你决定为它写测试程序其实也很简单因为一个get方法有返回值所以可以直接比较期望值和实际返回值。例如 public class SongTest extends TestCase{ Song song new Song(Bicyclops,Fleck, 260); assertEquals(4.333333d, song.getDurationInMinutes(),0.000001d); } public class Song{ private String name; private String artistName; private int duration; public Song(String name, String artistName, int duration){ this.name name; this.artistName Name; this.duration duration; } public double getDurationInMinutes(){ return (double)duration / 60.0d; } }
或者 public class Song{ private String name; private String artistName; private int duration; private double durationInSeconds public Song(String name, String artistName, int duration){ this.name name; this.artistName Name; this.duration duration; this.durationInSeconds (double) duration / 60.0d; } public double getDurationInMinutes(){ return durationInSeconds; } }
第二种实行方法在构造函数中就将其进行格式转换以备将来使用。这是一种效率优化的策略。但是这种情况下你还是应该进行这个测试因为你现在验证的是构造函数是否进行了正确的运算。这时候测试程序认为get方法是正确的。并用它来测试构造函数。