2011-03-11 4 views
15

EasyMock을 사용하여 테스트 케이스에서 모의 ​​클래스를 만듭니다.java.lang.IllegalStateException : 호환되지 않는 반환 값 유형

expect(entity.getType()).andReturn("string"); 

유형은 String 데이터 유형에 속합니다. 내 개발 환경에서 잘 작동합니다. 내 서버에 전송하고 구축 걸릴 경우, 다음과 같은 오류와 함께 실패 : 나는 서버에 실패 내 개발 컴퓨터에서 실행하기 이유를 모르는

java.lang.IllegalStateException: incompatible return value type 

.

개발 EasyMock 버전 : 2.5.2

+1

'entity'의 타입은 무엇이고'getType() '은 정확히 어떻게 선언되어 있습니까? –

+0

클래스 엔터티 {private String 유형; } – Dinesh

+1

당신이 말한 것이 정확하다면 그것은 오직 한 가지를 의미합니다. 서버와 dev에 두 가지 버전의 클래스 (또는 심지어 전체 병)가 있습니다. 기계. 또한 모의 반환을 설정하기 전에 System.out.println (entity.getType(). getClass()) 문을 포함하는 것이 좋습니다. –

답변

12

방금 ​​같은 문제가있었습니다.

나는 EasyMock에 부분 모의가 있었지만, 기대치를 설정하고 싶었던 방법으로 addMockedMethod을 호출하는 것을 잊어 버렸다.

오류 메시지는 위와 같았으므로 오해의 소지가있었습니다.

5

entity 개체가 간단한 POJO (예 : new Entity())가 아니며 EasyMock의 createMock() 메서드로 만들어 졌는지 확인하십시오.

3

나를 위해, 나는 그것을 한 번 사용한 후에 리셋 (...)을해야한다는 것을 기억해야한다. 그렇지 않으면 나는이 오류 메시지가 두 번째로 기대되는이 오류 메시지를 받는다.

6

내 경우에는 방법이 final이고 expect이라고합니다. 따라서 EasyMock은 메소드를 조롱 할 수 없어 메소드 호출을 기록하지 않았습니다.

관련 문제