2016-03-03 129 views
0

我搜索了解决方案,但无济于事。Jmockit:嘲笑@EJB

public class Bean { 
    @EJB 
    private Session session; 

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

和我有一个测试类

@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 /注入EJB。但它全部返回null。你如何注入@EJB会话来测试注册方法?

回答

2

好的,我发现@Injectable在测试课上做的工作。尝试@Mocked和@Cascading,但没有很好的工作

@Injectable private Session session;