gpt4 book ai didi

java - 测试时持久性不同

转载 作者:太空宇宙 更新时间:2023-11-04 15:22:57 25 4
gpt4 key购买 nike

我想在使用 JUnit 进行测试时使用不同的持久性单元。我创建了一个嵌入式 EJBContainer 并查找我的 Enterprise Bean,但它当然使用了我的 Enterprise Bean 中的 PersistenceContext 注释中描述的持久性单元。

有办法实现我的目标吗?当我发现类似的问题时,我应该提到,我使用 Ant。

最佳答案

您可以使用Arquillian为了那个原因。打包测试存档时,您可以包含任何您喜欢的文件作为测试的 persistence.xml:

@RunWith(Arquillian.class)
public class MyTest {
@Deployment
public static Archive<?> createTestArchive() {
return ShrinkWrap
.create(WebArchive.class, "test.war")
...
.addAsResource("MY_TEST_RESOURCES/persistence.xml",
"META-INF/persistence.xml")
...
}

编辑:我只是假设 Arquillian 的 Ant 集成合理,但我错了。尽管 Arquillian 的制作者宣布它与 Maven 无关,并且据说

...works just as well—if not better—when used in a project with an Ant or Gradle

如上所述here 。没有为 ant 提供工作示例。相关documentation page是未完成的。有一些相关的剪贴画herehere和一篇文章here ,所以有些人已经成功了。

我希望你能从那里开始工作。一旦您自己的解决方案开始工作,请发布并接受它。

关于java - 测试时持久性不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20220379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com