我正在使用JPA并且懒得加载变量。使用方法级别注释,变量都是私有的。
在我的自动化测试中,我想验证有问题的变量在我打电话之前没有加载。我找到了使用PersistenceUnitUtil.isLoaded方法的参考,但由于它是私有的,我不能直接传递它。
我尝试使用我的getter方法来获取延迟加载的变量以传递给PersistenceUnitUtil,但是看起来要加载它会使测试点失败。
有没有其他方法可以验证是否未加载此私有方法?我想我可以使用反射在私有变量处达到峰值,但这看起来很复杂,必须有一个更简单的方法。
如果相关使用spring boot和testNG。
答案 0 :(得分:1)
JPA API PersistenceUnitUtil.isLoaded将ENTITY对象取为某些字段值,因此不清楚为什么要说明获取字段/属性的值。例如,
boolean loaded = emf.getPersistenceUnitUtil().isLoaded(myEntity, "someField");
该方法的javadoc无法区分“someField”是私有还是其他,这是为了实现处理