2012-09-20 2 views
1

작동하지 않습니다와 조롱, 희망 누군가가 도움이 될 수 있습니다Mockito가 열거 매개 변수 나는이 문제 무엇인지 알아낼 수 없습니다

을 내가하려고하는 방법에 매개 변수로 사용되는 열거, MyEnum이 모조품.

when(myMockedObject.getMethod(MyEnum.XYZ)).thenReturn(myMockedValue); 

을 실제 코드 실행은 다음과 같습니다 : 조롱 조금 다음과 같습니다

MyMockedValue theMockedValue = myMockedObject.getMethod(MyEnum.XYZ); 

나는 동일한 myMockedValue에 theMockedValue을 기대하고있다. 그러나 조롱은 작동하지 않고 theMockedValue는 항상 null입니다. 이게 뭐가 잘못 되었 니?

+0

그래야합니다. 더 많은 코드 (enum, test, tested)를 보여줄 수 있습니까? – Brice

+0

@ 브리 이스 - 너무 자주 문제가되는 것은 내가 몹시 싫은 코드에 있다는 것입니다! 조롱은 당신이 제안한대로 작동합니다. 문제는 myMockedObject의 두 개의 조롱 된 인스턴스가있는 테스트에서 버그가 있다는 것입니다. 조롱 한 값을 반환하도록 설정 한 다음 코드에서 다른 값을 잘못 사용했습니다. 중복 모의가 제거되면 모든 것이 잘 동작합니다. 그래도 고마워. – DaveRlz

답변

0

이것은 내 자신의 dodgy 코드에 달려 있습니다. 복제 된 mock 객체를 발견했습니다. 한 인스턴스가 조롱에 관여하고 다른 인스턴스가 코드에 사용되어 null 값이 반환되었습니다.

내가 mockito와의 전투에서 패배하고 있다고 생각한 것처럼 지금 나는 무슨 일이 일어나고 있는지 이해하고 있습니다.

관련 문제