java-为什么我们需要测试用例来针对纯POJO运行

在编写junit测试时,我不禁认为junit测试适用于具有执行大量业务逻辑的方法的类.这样,您可以编写测试条件来测试每个if-else块.

但是在拥有大量Java Bean的企业应用程序中,为什么junit需要针对这些Java Bean运行?为不执行任何逻辑或计算的标准getter / setter编写测试用例似乎是多余的.

junit不仅应该用于具有业务逻辑的类,还不能用于普通的POJO吗?

解决方法:

POJO并不意味着“没有业务逻辑的类”,它意味着该类不依赖于基础架构或框架. (一些使用POJO的框架,例如Hibernate和Spring鼓励其用户使POJO符合某些JavaBean约定,主要是对getter和setter的命名.)Spring中的服务是POJO(或接近于POJO,有些人可能认为注释的引入距POJO的纯净性一步之遥),并且它们具有业务逻辑.

如果一个类不包含任何逻辑,则没有值对其进行测试.通常,这些类型的类会被执行实际功能的测试所覆盖,因为它们用于保存传入或传出业务逻辑代码的数据.

如果您真的必须只使用getter和setter来为类编写测试,请考虑编写一些代码来为您生成这些无用的测试.

上一篇:如何从一个不受spring管理的pojo中获取Spring Context中的Property?


下一篇:java – 带有xml映射的Hibernate派生属性