Jmockit:模拟@EJB

Jmockit: Mocking a @EJB

我在谷歌上搜索了解决方案,但无济于事。

public class Bean {
    @EJB
    private Session session;

    public String register(String a, String b, String c) {
        return session.create(a, b, c).toString();
    }

我有一个测试class

@Test
public void testRegister(String a, String b, String c) {

    new MockUp<Bean>() {         
        @Mocked Session session; 
    };

    System.out.println("session: "+ session);
    Bean bean = new Bean ();
    System.out.println("apiService: "+ bean);
    System.out.println("bean.register: "+ bean.register("a", "b", "c"));

}

我正在为 instanitating/injecting EJB 尝试几种不同的方法。但它都返回null。如何注入@EJB Session 来测试register 方法?

好的,我发现测试中的@Injectable class 可以完成这项工作。尝试了@Mocked 和@Cascading,但效果不佳

@Injectable private Session session;