WildFly:如何使用嵌入式容器测试EJB?

cod*_*oob 8 testing java-ee ejb-3.1 wildfly

我正在做我的第一个Java EE项目,我想要进行测试.我搜索并发现自EJB 3.1以来,可以使用嵌入式EJB容器来测试业务层.我正在使用WildFly,但我还没有找到如何配置嵌入式容器.

那么,如何正确配置嵌入式容器并使用WildFly测试EJB 3.1+?

我感谢任何帮助!

Mit*_*tin 5

你必须使用jboss本身的框架arquillian http://www.mastertheboss.com/jboss-frameworks/arquillian/arquillian-tutorial.

这个框架的作用是:在后台创建jboss的实例.一切都在那里部署,以便您可以在该"背景"容器上运行您的ejb或servlet.

配置它并不容易,所以我建议你从日食的Jboss工具开始.代码看起来像这样:

@Deployment
public static Archive<?> createTestArchive() {
     return ShrinkWrap.create(WebArchive.class, "test-demo.war")
            .addAsResource("META-INF/persistence.xml")
            .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
Run Code Online (Sandbox Code Playgroud)

我不赞成这种方法,它实际上是一个单独的部署,您需要完全理解WAR和EJB包的结构以及所有其他细节.

这真的更好,你的EJB,JPA和Servlet bean只是普通java类(POJO)的轻量级包装,真正的逻辑所在.然后你可以使用普通单元测试来测试它们.