针对 POJO 的 JUnit 测试

2022-09-01 02:49:24

我从事一个项目,我们必须为所有简单bean(POJO)创建单元测试。如果POJO只包含getter和setters,那么为POJO创建单元测试有什么意义吗?假设POJO在大约100%的时间内都能工作,这是一个安全的假设吗?


复制品 - 是否应该测试@Entity Pojos?

另请参见

在数据库而不是在虚假存储库上运行测试是不是不好的做法?

是否有 Java 单元测试框架可以自动测试 getter 和 setter?


答案 1

TDD的规则是“测试所有可能破坏的东西”,一个获取者可以打破吗?通常不会,所以我懒得测试它。此外,我测试的代码肯定会调用 getter,因此它将被测试。

我个人的规则是,我将为任何做出决定或进行简单计算的函数编写测试。我不会为 写测试,但我可能会并且肯定会为 .i+1if (i<0)...(-b + Math.sqrt(b*b - 4*a*c))/(2*a)

顺便说一句,对POJO的强调背后有不同的原因。我们希望将大量代码写入POJO中,这些代码不依赖于它们运行的环境。例如,很难测试 servlet,因为它们依赖于在容器内执行。因此,我们希望 servlet 调用不依赖于其环境的 POJO,因此易于测试。


答案 2

POJO还可以包含其他函数,例如 equals()、hashCode()、compareTo() 和各种其他函数。了解这些函数是否正常工作可能很有用。


推荐