2011-12-13 3 views
2

에서 모의 ​​반환 나는EasyMock에는 AA 모의

class Garage{ 
    public Noise myMethod(){ 
     Car mycar = getCarService().getCar("ford"); 
     Noise brum = mycar.drive(); 
     return brum; 
    } 

    ... 
} 

내가 서비스와 자동차 모두를 조롱 할 방법을 가지고, 그래서 나는 그러나 때이

MyCarService carMock = createMock(Car.class) 
MyCarService mockServce = createMock(MyCarService.class) 

expect(mockService.getCarService().andReturn(carMock)); 
expect(carMock.drive().andReturn("brummmm")); 
replayAll(); 

Garage garage = new Garage(); 
garage.setCarService(mockService); 
Noise n = g.myMethod(); 

같은 모형을 만들었습니다 나는 mycar가 항상 null로 mockservice에서 반환되는 코드를 실행합니다. easyMock으로 이런 유형의 작업을 할 수 있습니까?

답변

1

다음 행은 포함하지 마십시오 : garage.setCarService(mockService);.

필요한 것은 mockService.getCarService()가 호출되기를 기대하는 것입니다.

g.myNewMethod를 호출하여 테스트를 실행하면 myNewMethod가 getCarService() 메소드에 도달하면 mockService가 반환됩니다.

그러나 getCar 메소드가 호출 될 것으로 기대를 놓치고 있습니다. 필요한 항목 :

expect(mockServce.getCar("ford")).andReturn(carMock); 
+0

감사합니다. – AgS

관련 문제