在Junit测试脚本中注入CDI bean

时间:2014-02-04 17:09:25

标签: junit jboss cdi

我在JBoss AS 7.1.1上运行了一个应用程序。这个应用程序使用CDI规范的一些资源作为拦截器,注入等。我的应用程序的架构非常简单,结构如下:

  

查看(xhtml和facelets)

     

控制器(带有@Named的托管bean,ViewScoped除外)

     

模型(分为两层,服务和dao)

     

服务 (使用@Stateless注释,这里我使用我创建的拦截器来管理与数据库的事务,因为我使用本机JDBC)

     

我需要创建一些脚本来测试应用程序服务层,注入服务实现并调用业务方法。

我相信这种架构很常见。对不起,我很抱歉。

有人可以帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

如果要测试完整容器,可能需要Arquillian。如果您想使用模具进行单元测试,请使用weld-se在测试中启动独立的焊接容器。

new Weld().initialize().instance().select(YourClassName.class).get();

您可以使用beans.xml中的替代项替换模拟对象。您也可以使用CDI-Unit来简化流程。