代码之家  ›  专栏  ›  技术社区  ›  Mike Baranczak

EJB测试策略?

  •  7
  • Mike Baranczak  · 技术社区  · 14 年前

    我正在研究一个JavaEE 6应用程序。当我开始时,我正在为我的EJB类编写测试,方法是手动实例化EJB,然后手动添加通常由依赖注入提供的成员。随着应用程序越来越复杂,我发现这种方法并不能解决问题。所以我希望能够在测试框架中启动我自己的EJB容器,这样它就可以管理我的bean了。最好的方法是什么?我听说过 javax.ejb.embeddable.EJBContainer ,还有其他选择吗?

    (我用的是Glassfish3,和Maven一起建造,如果有什么区别的话。)

    4 回复  |  直到 10 年前
        1
  •  2
  •   Rodney Gitzel    14 年前

    你到底在测试什么?逻辑?配置?您需要直接测试EJB类吗?对于正在运行的容器,您的测试作为EJB客户机的行为是否足够?(请记住,没有规则规定自动单元测试不需要正在测试的运行系统。)

    如果您需要测试的是业务逻辑,那么将代码移到pojos中并正常进行测试;然后您就不需要测试在容器中运行的pojos,因为容器不应该影响业务逻辑。

    在相关的情况下,我从未直接对servlet类或struts控制器类进行JUnit测试。我肯定测试了那些依赖的POJO,并且测试了最终应用程序(在servlet容器中运行,用htmlUnit测试),假设最终应用程序工作,那么管道也工作。

        2
  •  2
  •   Pascal Thivent    14 年前

    我听说过 javax.ejb.embeddable.EJBContainer ,还有其他选择吗?

    这个 EJBContainer API是一个选项。另一个是用 Arquillian (和) SchrinkWrap )

    更多链接:

        3
  •  0
  •   whaley    14 年前

    我不完全确定这对你的案件是否有帮助,但请看一下 Smokestack . 我个人并不在EE空间中工作(在servlet规范之外),但是我曾经看到过一个关于这个的演示,看起来它可以做您需要的事情。

        4
  •  0
  •   Christopher Yang    10 年前

    现在有 Arquillian 开发人员不需要再使用嵌入式Java EE容器了。

    推荐文章