【发布时间】:2019-08-06 09:47:32
【问题描述】:
我创建了以下捕获器:
public class CompanyOwnerMatcher extends ArgumentMatcher<CompanyOwner> {
private String uuid;
CompanyOwnerMatcher(String uuid) {
this.uuid = uuid;
}
@Override
public boolean matches(Object arg) {
if (!(arg instanceof CompanyOwner)) return false;
CompanyOwner owner = (CompanyOwner) arg;
return Objects.equals(uuid, owner.getUuid());
}
}
我在这段代码中遇到异常:
Mockito.verify(payInApi).submit(eq(1L), argThat(new CompanyOwnerMatcher(expectedOwnerUuid)));
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:148)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:266)
CompanyOwner 由休眠管理。这很奇怪,但是在我捕捉到 CompanyOwner 之后,我无法获取任何字段值,因为我得到了 LazyInitializationException,即使在未标记为 Lazy 的字段上也是如此。
对于这个问题的任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
向我们展示测试类和方法
标签: java junit mockito spring-test