单元测试Bean在EJB 3中管理事务.X在容器外



在EJB 3中是否有好的方法对BMT进行单元测试?X,在容器外面。我相信在我们编写代码的时候测试事务是有意义的。在我看来,从一开始就测试我们编写的代码是很重要的。因此,如果有一种很好的方法,既简单又不需要花费太多时间来执行,来测试BMT,那么它将是非常受欢迎的。

目前,我正在使用内存中的DB来测试容器外的EJB 中的JPAQL。我使用unitils-DBUnit在我的数据库中注入测试数据。那么,随着测试平台的设置,在需要测试BMT的特殊场景中,我应该做什么呢?

p。S:我看了一下像Bitronix这样的工具,但我真的不确定它是否对我的案子有帮助。我需要一些真正的性能密集型和轻量级的工具,这样它就不会让开发人员感到沮丧——这就是单元测试。请给我你的意见,这也是。根据你的说法,这样的工具对我的目的有帮助吗?如果有的话,你是否也有例子供我参考?

Thanks to lot

您真的需要测试"容器外",还是"服务器外"就足够了?如果是前者,您看过EJB 3.1中对可嵌入EJB容器的支持吗?可嵌入的EJB容器在独立的Java进程中运行(非常适合单元测试),并且EJB 3.1规范的表27(第21.1节)要求可嵌入的EJB容器使用BMT。

对于单元测试事务,应该有一个完整的事务管理器,它是独立的,执行时间很短。它不应该强制部署任何bean或jar。

Bitronix工作良好,满足我的目的。执行测试所需的时间不到一秒钟。因此,我不必再模拟我的事务,并且可以确保在代码进入集成测试阶段之前,事务按照我的预期工作。我也看到过关于Atomikos的积极反应,但我从未尝试过。也许我可以更新这个线程,当我评估Atomikos。

最新更新