1

我在 MyEclipse 10.0 中使用 WAS 8.0、EJB 3.1、CDI 和 EJB 可嵌入容器。还在类路径中定义了 beans.xml 和可嵌入的容器 jar。在测试类中的 EJB 引用(课程)上获取运行时 null。

公共类 CourseTest 扩展 TestCase {

@EJB    
private Course course;

@Before
public void setUp() throws Exception {
    EJBContainer.createEJBContainer().getContext().bind("inject", this);
}

@Test
public void test() {

    // Was the EJB injected?
    assertTrue(course != null);
4

1 回答 1

0

您的测试用例类不是由容器构造的,因此不会执行注入。您需要手动从EJBContainer.createEJBContainer().getContext().

(顺便说一句,EJBContainer API 只允许每个进程有一个活动的 EJB 容器。我建议将结果存储EJBContainer.createEJBContainer()在一个字段中并从@After方法中关闭它。)

于 2012-07-14T14:18:48.603 回答