간단히 말해서, 그렇습니다.
부분 모의는 조롱 된 클래스의 인스턴스와 똑같이 작동하지만 조롱으로 설정 한 메소드에 기대치를 추가 할 수 있습니다. 이것은 대개 해당 메소드의 수퍼 클래스 구현에 의존하는 재정의 메소드가있을 때 유용합니다.
귀하의 예제에서 deprecated createMock (Class, Method ...) 메소드를 사용하고있는 것처럼 보이므로 Shape 클래스의 부분 모의를 작성하는 방법에 대한 예제를 제공합니다. 그것이 행동에 대한 몇 가지 기대를 필요로합니다 removeShape 방법을 사용하려고 할 때까지
final IMockBuilder<Shape> mockBuilder = EasyMock.createMockBuilder(Shape.class);
mockBuilder.addMockedMethod(Shape.class.getMethod("removeShape", new Class[]{...}));
final Shape mockShape = mockBuilder.createMock();
이
는 완벽하게 정상적으로 작동 Shape 객체를 제공합니다.
개인적으로 매우 드물게 Method 매개 변수를 사용하는 addMockedMethod 버전을 사용합니다. 일반적으로 mocking하는 메서드는 addMockedMethod (String) 버전을 사용할만큼 충분히 독특합니다.
final IMockBuilder<Shape> mockBuilder = EasyMock.createMockBuilder(Shape.class);
mockBuilder.addMockedMethod("removeShape");
final Shape mockShape = mockBuilder.createMock();
이 내 눈에 약간의 청소기와 같은 결과를 얻을 : 그래서 대부분 다음을 사용합니다.
그러나 이러한 부분적인 모의는 완전한 모의와 동일한 법률에 따라 생활합니다. 이렇게 최종 방법을 조롱 할 수는 없습니다.
도움이 되길 바랍니다
왜 그렇게 시도하지 않으시겠습니까? –
나는 비슷한 것을 시도해 보았지만, 다른 모든 방법들이 작동하지 않는 것처럼 보였습니다. 그러나 easymock 프레임 워크를 배우는 것만 큼 확실하지 않습니다. 다른 방법으로도 가능하거나 내 예제에서 잘못된 것을했을 경우 – flexinIT