2015-06-03 3 views
0

Я хотел написать junit для ниже метода «createEmailTripEvent()», поэтому я пытался высмеять интерфейс EmailTrip с помощью EasyMock, но не смог продолжить.Junit Test Case

Можно ли использовать EasyMock для насмешливого интерфейса или нам нужно только для Mockito? Если Mockito - единственный вариант, то кто-нибудь может объяснить мне, как мы можем использовать?

см ниже класса & интерфейса

private EmailTrip emailTrip; 

public ModelAndView createEmailTripEvent (HttpServletRequest request, 
     HttpServletResponse response) throws Exception { 
    emailTrip.createEmailTripEvent(Code, emailRequest); 
    //Need to write junit for above method 
} 

public interface EmailTrip { 
    void createEmailTripEvent(String code, TripEmailRequest request) 
      throws Exception; 
} 

public class EmailTripImpl implements EmailTrip { } 
+0

Вы можете использовать EasyMock или Mockito. Обе библиотеки будут работать. Пожалуйста, объясните, почему вы не можете продолжить. –

ответ

0

Вы должны включить следующую зависимость для вашего Maven POM (если не используется Maven, срочно рассмотреть вопрос об этом ...). В противном случае используйте зависимость EasyMock к вашему пути к классу.

<dependency> 
    <groupId>org.easymock</groupId> 
    <artifactId>easymock</artifactId> 
    <version>3.3.1</version> 
    <scope>test</scope> 
</dependency> 

После этого вы сможете создать свой тестовый класс.

import static org.easymock.EasyMock.*; 
import org.easymock.*; 
import org.junit.Rule; 
import org.junit.Test; 

public class MyTinyTest extends EasyMockSupport { 
    @Rule 
    public EasyMockRule rule = new EasyMockRule(this); 

    @Mock 
    private EmailTrip emailTrip; 

    @TestSubject 
    private final ServletClass servlet = new ServletClass(emailTrip); 

    @Test 
    public void testCreateEmailTripEvent() { 
    // you should know how to create an email request instance! 
    EmailTripRequest emailRequest = createRequest(); 
    // tell EasyMock what behavior is expected... 
    emailTrip.createEmailTripEvent("code", emailRequest); 

    // start testing... 
    replayAll(); 
    // excute method to test... 
    ModelAndView result = servlet.createEmailTripEvent(servletRequest, servletResponse); 
    // verify if expected behavior occured. 
    verifyAll(); 

    // check other assertions concerning the method result... 
    } 
} 
Смежные вопросы