我正在做我的第一个Java项目,我想预编一个测试。我搜索并发现,从EJB3.1开始,就有可能使用嵌入式EJB容器来测试业务层。我正在使用WildFly,但我还没有找到如何配置嵌入式容器。
那么,如何正确配置嵌入式容器并使用WildFly测试EJB 3.1+呢?
我很感激你的帮助!
发布于 2016-05-17 23:21:46
您必须使用jboss本身的框架arquillian ( http://www.mastertheboss.com/jboss-frameworks/arquillian/arquillian-tutorial )。
这个框架所做的是:在后台创建jboss实例。所有东西都部署在那里,这样您就可以在“后台”容器上运行ejb或servlet了。
配置它并不容易,所以我建议您从eclipse的Jboss开始。代码看起来如下所示:
@Deployment
public static Archive<?> createTestArchive() {
return ShrinkWrap.create(WebArchive.class, "test-demo.war")
.addAsResource("META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
我不赞成这种方法,它实际上是一个单独的部署,您需要完全了解WAR和EJB包的结构以及所有其他细节。
更好的做法是,您的EJB、JPAs和Servlet只是普通java类(POJO)的简单包装器,而真正的逻辑驻留在这些类中。然后您可以使用简单的单元测试来测试这些。
https://stackoverflow.com/questions/30169513
复制相似问题