2012-04-07 5 views
0

특정 인터페이스 유형의 배열을 사용하는 정렬 클래스를 테스트해야합니다. 인터페이스는 객체를 비교하고 int 값을 반환하는 함수 하나만 가지고 있습니다. jUnit으로 테스트하기 위해 easymock을 사용하려고합니다. 나는 두 가지 문제가 붙어있다. 먼저 주어진 인터페이스에 대해 만든 각 모의 객체에 약간의 값을 할당해야합니다. EasyMock을 사용하여 void 메서드를 테스트하십시오.

가 어떻게 어떤 값을 할당 할 수 있습니다

mock[0] = EasyMock.createMock(CompareValue.class); 
는 조롱하는 [0]? 유일한 방법은 다음 한 인터페이스 CompareValue :

int compareVal(Object obj); 

개체가

두 번째 정렬 클래스의 CompareValue 유형이 될 것입니다, 나는 단지 목록을 소요하고 수정 클래스의 정적 무효 방법을 하지만 아무것도 반환하지 않습니다. 나는 인터페이스 또는 클래스의 모든 코드를 변경한다고 가정하지 않습니다. 올바르게 정렬되었는지 확인하기 위해 수정 된 목록을 검색하는 방법을 모릅니다.

답변

1

mock에 값을 할당하는 대신 getter를 재정의하십시오.

expect(mock[0].getValue()).andRetun(yourValue); 
+0

인터페이스에는 getValue() 메소드가 없습니다. mock 객체에 직접 값을 할당 할 수있는 방법이 있습니까? – Ramy

+0

내부 클래스를 구현하는 것이 유일한 방법이라고 생각합니다. – Ramy

+0

CompareValue 클래스의 세부 정보를 제공해 주실 수 있습니까? –

관련 문제