2016-03-03 5 views
0

Я googled для решений, но безрезультатно.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(); 
    } 

и у меня есть тестовый класс

@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")); 

} 

Im пытается несколько различных способов для instanitating/инъекции EJB. Но все это вернуло null. Как вы вводите сеанс @EJB для тестирования метода регистрации?

ответ

2

Хорошо, я узнал, что @Injectable в классе испытаний выполняет эту работу. Пробовал @Mocked и @Cascading, но не работал хорошо

@Injectable private Session session; 
Смежные вопросы