Programing

개체가 Mockito 모의인지 어떻게 알 수 있습니까?

lottogame 2020. 11. 28. 08:34
반응형

개체가 Mockito 모의인지 어떻게 알 수 있습니까?


주어진 객체가 Mockito mock인지 아닌지 코드에서 말할 수 있습니까?

내가 이것을하고 싶은 이유는 모의가 사용될 때 다른 오류 메시지를 반환하기 위해서입니다. 이것은 다른 개발자에게 모의를 직접 생성하는 대신 유용한 방식으로 호출에 응답하도록 이미 설정된 미리 준비된 모의를 사용해야한다고 제안하는 데 사용됩니다.

현재 내가 가진 최고는 object.getClass().getName().contains("EnhancerByMockitoWithCGLIB")있지만 이것은 엉망인 것 같습니다.


그러한 API가없는 것 같습니다 (문제를 제기하십시오. 그래야합니다!) 다행히도 (아래 의견에 따라) org.mockito.internal.util패키지에 메소드가 있습니다 .

import org.mockito.internal.util.MockUtil;

new MockUtil().isMock(obj)

향후 Mockito.isMock()메서드가 공용 API에 추가 될 수 있습니다. 문제 313 : org.mockito.internal 외부에서 isMock 제공을 참조하십시오 .


후속 조치로 Mockito 공용 API에는 이제 다음 메서드가 있습니다.

MockingDetails org.mockito.Mockito.mockingDetails(Object toInspect)

@David Wallace가 제기 한 문제의 결과입니다. 반환 된 객체는 'isMock ()'및 'isSpy ()'메서드를 지원하며 나중에 더 많은 모의 관련 정보를 제공하도록 향상 될 수 있습니다.

참고 URL : https://stackoverflow.com/questions/9035843/how-can-i-tell-if-an-object-is-a-mockito-mock

반응형