【发布时间】:2009-07-27 03:55:43
【问题描述】:
我们正在使用 maven 构建我们的 EAR 和 EJB 项目。它将构建所有的 EJB 项目,然后将它们用作 EAR 的依赖项,因此最终将它们打包到 EAR 文件中。
问题在于每个 EJB 项目都有检查 EJB 的 junit 测试。目前这些测试不是很有用,因为它们试图连接到应用程序服务器(jboss)并从 EJB 接口执行方法。
有什么方法可以构建 EJB、构建和部署 EAR,然后针对应用程序服务器运行来自所有 EJB 的所有测试?
现在我正在通过启动 EJB-Implementation 类和手动“注入”注入(someEJBImpl.em = EntityManager....)在测试中模拟 AP,这非常烦人,因为我们在它们和我之间有很大的依赖关系必须自己处理交易。
还有其他方法可以针对真正的 AP 运行 EJB 测试吗?是否可以在每个 EJB 模块之后部署 EAR,其中包含已构建的 EJB 模块的子集?但是怎么做呢?
是否可以设置为运行所有 EJB 模块的 maven 测试作为 EAR 测试的一部分?如何做到这一点?
【问题讨论】:
标签: unit-testing maven-2 junit ejb ear