我正在使用 OpenJPA 2.0.0、Jersey 1.3 和 JUnit 4.8.1 构建一个应用程序。
我已经设置好了,所以我在我的 persistence.xml 中定义了两个不同的持久性单元:“default”和“unittest”。默认设置为连接到 Oracle 实例,而 unittest 设置为连接到本地 H2DB 嵌入式数据库文件。我这样做是为了始终使用一个干净的数据库开始我的单元测试,其中包含某些已知数据,这些数据可以在每次运行单元测试之间被覆盖。
问题是现在我想使用 Jersey 测试框架来测试我的实际 web 服务,而不仅仅是程序的较低层。我的根资源类不加载 unittest 持久性单元,它们总是加载默认值。
所以我可能需要做的是注入根资源类,哪个持久化单元应该用于实例化EntityManager,然后在我运行测试时有一些方法注入unittest,否则注入默认值。但我想不出任何好的方法来做到这一点。
我是 Java EE 开发的新手,这可能很明显。
有什么帮助吗?