编程语言
首页 > 编程语言> > Java-休眠升级后,代码覆盖率显着下降-未涵盖getter和setters-有任何想法吗?

Java-休眠升级后,代码覆盖率显着下降-未涵盖getter和setters-有任何想法吗?

作者:互联网

我们最近将代码库从2005版本升级到了最新版本的hibernate.

结果,我们发现许多程序包中的代码覆盖率大大降低.这些包几乎完全是映射到休眠对象的POJO,并且区别似乎在于getter和setter的覆盖范围.这些对象中大多数都不是直接进行单元测试的,因此以前的内容大部分来自它们在某些集成测试中的使用,从而导致休眠模式击中这些吸气剂和吸气剂.

有没有人看到类似的事情发生?休眠填充可以解释这一点的对象的方式是否发生了变化?

大多数字段都设置为lazy = false,因此这毫无疑问.

我们正在使用testng,cobertura和jdk 1.6.

解决方法:

是否有人更改了xml中的内容以更改对字段的访问权限,例如

<property name="xxx" ... access="field"/>

或全球这样?

<hibernate-mapping ... default-access="field">

默认情况下,休眠的访问权限设置为属性,因此应在提供访问器的地方使用访问器.

标签:hibernate,code-coverage,hibernate-mapping,cobertura,java
来源: https://codeday.me/bug/20191202/2086601.html