【发布时间】:2019-10-01 13:49:03
【问题描述】:
我目前正在阅读 Bob 叔叔的书,试图在我的职业生涯中拥抱 TDD。目前我怀疑是否有必要编写这样的测试:
public class Person {
private String firstName;
private String middleName;
private String lastName;
/*getters and setters*/
}
@Test
public void testPersonCreation() {
Person person = new Person();
person.setFirstName("Robert");
person.setMiddleName("Cecil");
person.setLastName("Martin");
Assertions.assertThat(person.getFirstName()).isEqualTo("Robert");
Assertions.assertThat(person.getMiddleName()).isEqualTo("Cecil");
Assertions.assertThat(person.getLastName()).isEqualTo("Martin");
}
这种方法的优缺点是什么?
【问题讨论】:
-
测试 getter 和 setter 是个好主意。如果您按小时计酬,而没有人关注您花费的时间。
-
@T.J.克劳德,我已经编辑了帖子以使其更具体
-
@Kayaman,目前,我倾向于相同的意见
-
如果您涵盖其他代码(存储库、控制器、服务等),则应包括大部分或所有 pojo 方法。使用代码覆盖率工具来验证所覆盖的内容。
-
冒着陈述显而易见的风险(因此发表评论,似乎不值得回答): 优点:* 确保编写
Person以首先正确实现其 POJO 联系(例如,setter 真正设置了各自的私有字段,getter 真正获得了各自的私有字段)。 * 确保如果Person在未来某个时间点被修改,以至于它的基本 POJO 合同被破坏,你的测试开始失败。缺点:* 更多测试。
标签: java unit-testing tdd