对于除了其他方法之外还有几个setter和getter的类,考虑到在测试接口的其余部分时会调用它们,是否合理地节省了为访问器编写单元测试的时间?
如果他们做的不仅仅是设置或返回变量,我只会对它们进行单元测试.在某些时候,您需要相信编译器将为您生成正确的程序.
绝对.单元测试的想法是确保更改不会以未知方式影响行为.你可以通过不写测试来节省一些时间getFoo()
.如果你将类型更改为Foo
更复杂的东西,那么你很容易忘记测试访问者.如果你质疑是否应该写一个测试,你最好写它.
恕我直言,如果您正在考虑跳过为方法添加测试,您可能想问自己该方法是否必要.为了充分披露,我是那些在证明有必要时只添加二传手或吸气剂的人之一.您会惊讶地发现,在构建之后您真的不需要访问特定成员,或者您只想访问一些真正依赖于成员的计算结果.但我离题了.
一个好的口头禅是总是添加测试.如果您认为不需要,因为该方法很简单,请考虑删除该方法.我意识到常见的建议是,跳过"琐碎"方法的测试是可以的,但你必须问自己这个方法是否是必要的.如果你跳过测试,你会说这个方法总是很简单.请记住,单元测试还可以作为意图和合同的文档.因此,一个简单方法的测试表明该方法确实意味着微不足道.