我在一个项目中工作,我们必须为所有简单的 bean (POJO) 创建单元测试。如果 POJO 只包含 getter 和 setter,那么为它们创建单元测试有什么意义吗?假设 POJO 将在大约 100% 的时间内工作是否安全?
重复 - Should @Entity Pojos be tested?
另请参阅
Is it bad practice to run tests on a DB instead of on fake repositories?
Is there a Java unit-test framework that auto-tests getters and setters?
最佳答案
TDD 中的规则是 "Test everything that could possibly break" setter/getter 能破吗?一般不会,所以我懒得去测试它。此外,我做测试的代码肯定会调用getter,所以它将被测试。
我个人的规则是,我将为任何做出决定或进行不只是简单计算的函数编写一个测试。我不会为 i+1
编写测试, 但我可能会为 if (i<0)...
肯定会为(-b + Math.sqrt(b*b - 4*a*c))/(2*a)
.
顺便说一句,对 POJO 的强调背后有不同的原因。我们希望将大量代码写入 POJO,不依赖于它们运行的环境。例如,很难测试 servlet,因为它们依赖于在容器中执行。因此,我们希望 servlet 调用不依赖于其环境并因此易于测试的 POJO。
关于java - POJO 的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/674408/