java - 在 Arquillian 测试中使用不同的 persistence.xml 文件

标签 java unit-testing jakarta-ee jboss-arquillian

我正在使用一个标准的 Maven 项目,我在 java 资源文件夹中有一个 persistence.xml,在测试文件夹中有另一个 persistence.xml。如何在 arquillian 测试中使用测试文件夹中的 persistence.xml?或者这不是一件正常的事情吗?

最佳答案

How can I use the persistence.xml from the test folder in the arquillian test?

您可以为您的测试构造一个 ShrinkWrap 部署,它打包测试资源的 persistence.xml 文件,而不是主要资源。您可以在您的@Deployment 方法中这样引用它:

addAsManifestResource("persistence.xml", new File("src/test/resources/persistence.xml"))

Or isn't that a normal thing to do?

这是一件可以接受的事情。但是,使用 Arquillian Persistence Extension,您应该能够使用主要资源的 persistence.xml 文件,因为持久化单元将由容器管理,并且底层数据源将在运行时可供 JPA 提供程序使用。

对于需要事务类型为 RESOURCE_LOCAL 而不是 JTA 的持久性单元的实例,通常使用仅测试 persistence.xml,以便在容器外测试持久性单元。

关于java - 在 Arquillian 测试中使用不同的 persistence.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12991384/

相关文章:

java - com.sun.mail.smtp.SMTPAddressFailedException : 554 5. 7.1 <cdae-jee-302-01.uci.cu[10.56.14.157]>:客户端主机被拒绝:访问被拒绝

java - 返回下一个值的模式?

java - JMockit - 期望返回旧值而不是与私有(private)字段关联的值

python - 如何在 flask 项目中运行单元测试?

node.js - 如何测试 Grunt 任务?理解和最佳实践

tomcat - @Inject 属性在 Tomcat 上返回 null

java - 两台Java网络服务器如何共享一个IP

java - 从 java 转换为 c++,setRequestProperty 的等效 curl 命令是什么

java - 在 Java 中压缩目录会影响使用相同文件的其他进程吗?

java - 为什么在 TomEE 上远程调用 EJB 时会收到 AuthenticationException?