2011-11-02 2 views
0
  1. 생성자 인수를 사용하여 모의 객체를 만들 수 있습니까? 예를 들어 개체가 있고 두 종류의 생성자를 사용한다고 가정 해 보겠습니다. 어떻게?모의 객체 쿼리

    Class test{ 
    List<String> list 
    public test() 
    { 
        list = new ArrayList<String>() 
    } 
    
    public test(List<String> list) 
    { 
        this.list = list 
    } 
    } 
    

은 질문 2 : 나는 그것의 방법 중 하나를 예를 들어 PreferenceService prefServ = easyMock.create (...)의 경우 모의 객체 를 반환하는 경우 실제 개체에 기대 사용할 수 지금 prefServ는 가짜입니다 클래스 'Test'에있는 메소드 중 하나가 반환하는 객체 PreferenceService getPreferenceService(). 테스트 유형의 실제 객체를 만들면 expect (test.getPreferenceService())를 사용할 수 있습니다. andReturn (mockPreferenceService) ??? 호환되지 않는 리턴 유형을 나타내는 오류가 발생합니다.

답변

0

원하는 것은 부분적 조롱이라고 생각합니다. 당신은 할 수 :

PreferenceService prefServ = createMock(PreferenceService.class); 
Test defaultTest = createMockBuilder(Test.class).addMockMethod("getPreferenceService"). 
    createMock(); 
expect(defaultTest.getPreferenceService()).andReturn(prefServ); 

는 이제 방법 getPreferenceService()가 조롱되는 것을 제외하고는 시험의 실제 인스턴스 기본 생성자 인스턴스화 defaultTest을 보유하고 있습니다.

List<String> testList = new ArrayList<String>(); 
Test otherConstructorTest = createMockBuilder(Test.class). 
    addMockMethod("getPreferenceService").withConstructor(testList); 
expect(defaultTest.getPreferenceService()).andReturn(prefServ); 

위와 같지만 이번에는 Test 개체가 List 생성자를 사용하여 생성되었습니다.