Java EE环境中的单元测试

Arm*_*llo 5 java unit-testing java-ee

我们正在将我们的应用程序迁移到Java EE容器中,并寻找用于我们迁移的应用程序的单元测试(和集成测试)的工具.我们的要求包括:

  • 临时测试:按需手动运行测试的能力(开发人员在开发代码时使用)
  • 批量测试:定期运行大量(且不断增长的)测试集的能力
  • In-Container:在容器中部署EJB时使用EJB的集成测试
  • 单元测试:不一定在EJB上下文中测试类
  • 很高兴:设置简单,与ant/IDE集成
  • 无需测试Servlet/JSP - 仅限POJO和EJB

您在Java EE环境中使用什么来实现测试?您部署了哪些技术/设置?

我的研究发现了Cactus和JUnitEE:你有成功的设置吗?

Rob*_*bin 1

我们使用普通的 JUnit 进行单元测试和集成测试。我们使用 VM 参数在两者之间切换,并使用直接与服务器的标记来注释测试。我们确实有一个自定义 TestSuite 类,它可以根据此信息查找并运行测试,因为它比手动维护要运行的测试更容易且不易出错。

在我们的例子中,我们使用 Spring 远程处理来与 servlet 和 EJB 对话(通过 servlet),并且测试这两种情况只是在 Eclipse 中进行单独的启动配置。

几年前我们使用了 JunitEE,但最终放弃了它,转而只使用 JUnit。这使我们能够让开发人员在没有服务器的情况下完成所有测试,并在他们的 IDE 中运行两个单元和我所说的低级集成测试。然后,我们让构建机器针对现在部署在实际服务器中的相同代码运行相同的集成测试。这使得开发周期变得更快,因为我们很少需要运行服务器和部署服务代码。