我有一个带有Java和play框架的REST api,我正在尝试对我的控制器和服务方法进行单元测试,但是我找不到执行该操作的方法。
控制器方法示例:
@Transactional(readOnly = true)
public Result findSomething(Optional<Integer> code) {
List<Something> listSomething = SomethingService.find(code);
return ok(Json.toJson(listSomething));
}
服务方法示例:
public static List<Something> find(Optional<Integer> code) {
//DB stuff
return JPA.em().createQuery(query).getResultList();
}
当我尝试执行https://www.playframework.com/documentation/2.6.x/JavaTest中所解释的单元测试时,或者在另一个网络示例中,它都可以返回此异常:
java.lang.RuntimeException:没有EntityManager绑定到此线程。尝试将此调用包装在JPAApi.withTransaction中,或确保在此线程上设置了HTTP上下文
有人知道怎么做吗?
谢谢