Jboss 如何使用JUnit轻松测试EJB

Jboss 如何使用JUnit轻松测试EJB,jboss,junit,ejb,Jboss,Junit,Ejb,我想使用JUnit测试一个企业JavaBean(稍后应该部署到JBoss服务器)。但我不知道如何使用这些工具。普通JUnit失败,因为缺少EJB容器,并且缺少所需的注入 通过谷歌搜索,我找到了一个名为JBoss EJB embedded container的库,但它似乎已经过时了。我也找不到任何可下载的源文件或二进制文件 因此,请帮助,本地生成能够在企业bean上运行JUnit测试的“模拟”容器的简单方法是什么 问候 Ben您可以在JUnit程序中使用EJB远程客户端来测试EJB。唯一的缺点是在

我想使用JUnit测试一个企业JavaBean(稍后应该部署到JBoss服务器)。但我不知道如何使用这些工具。普通JUnit失败,因为缺少EJB容器,并且缺少所需的注入

通过谷歌搜索,我找到了一个名为JBoss EJB embedded container的库,但它似乎已经过时了。我也找不到任何可下载的源文件或二进制文件

因此,请帮助,本地生成能够在企业bean上运行JUnit测试的“模拟”容器的简单方法是什么

问候
Ben

您可以在JUnit程序中使用EJB远程客户端来测试EJB。唯一的缺点是在测试期间必须有一个正在运行的应用程序服务器


查看有关如何远程调用EJB的示例。

我建议您看看:

Arquillian使您能够在远程或嵌入式容器中测试业务逻辑。或者,它可以将存档部署到容器中,以便测试可以作为远程客户端进行交互


还有生活。还提供了一个带有嵌入式JBoss的测试环境,用于运行应用程序的组件测试(使用TestNG)。

是一个嵌入式EJB容器,非常适合对EJB进行单元测试。你可以在普通的应用服务器之外测试它们。而且,它很快!而且,它旋转得很快!而且,它有一个Eclipse插件,便于管理!一定会喜欢的!它已经存在了一段时间,有很多关于如何设置和使用它的教程,所以你不应该有问题。

已经有一段时间了,但我总是将我的EJB编写为POJO的简单包装。接口将定义方法,POJO和EJB(当然是会话)都将实现该接口


我可以完全测试POJO的“业务逻辑”,而不存在任何容器问题。然后,如果我让服务器运行,我可以对会话bean运行相同的测试,只需对客户机而不是POJO进行测试…

因为在我的DAO(ORM接口)测试中,我不需要JNDI(例如)东西,所以我只需要

  • 在类路径中包含hibernate JAR
  • 删除/注释我的
    persistence.xml中的
    ..
    部分
  • 使用
    持久性注入/分配您自己的entitymanagerfactory。createEntityManagerFactory(“我的持久性单元名称”)