2011-07-27 2 views
0

제 3 자 인터페이스를 조롱하고 제 구성 요소와 상호 작용하는 타사 확장 메서드를 호출해야하는 상황이 있습니다. 조롱 된 인터페이스에서 정확히 무엇을 확인해야하는지 알아내는 것은 어렵습니다. Moq이 기록한 상호 작용을 추적 할 수 있는지 궁금해서 제가 실제로 무엇이 진행되었는지 볼 수 있습니다. 그로부터 의미있는 기대를 표명 할 수 있기를 희망합니다. API 문서에서이 작업을 수행 할 수 있다는 어떠한 증거도 보이지 않지만 기술이 존재하고 어딘가에서 내가 발견하지 못했던 것처럼 보입니다.Moq mock에 대한 호출을 추적 할 수 있습니까?

감사합니다.

답변

0

"재생"유형의 기능을 Moq에서 사용할 수 있다고 생각하지 않습니다. 당신은 아주 간단한 객체 인터페이스를 구현 한 다음의 모든 디버거 및 장소 중단 점을 발사 할 수

  • :

    그러나 통화의 패턴을 결정하기위한 기술의 몇 마음에 와서 구현 된 메서드 및 속성 그러면 호출 된 내용과 어떤 값을 매핑 할 수 있습니다.

  • 모의를 작성하고 MockBehavior.Strict을 사용할 수 있습니다. 그 결과 Mock은 속성이나 메소드가 호출 될 때마다 (아무런 기대치가 설정되어 있지 않은 한) 예외를 throw합니다. 이러한 예외를 하나씩 파악하고 예상대로 정의하고 천천히 호출되는 것을 그림으로 작성할 수 있습니다.

이상적인 시나리오는 아닙니다.

그렇다면이 기능을 모방하는 가장 좋은 장소인지 여부를 고려해 보셨습니까? 대신 제 3 자 기능을 모두 숨기는 추상화 계층을 도입하고이를 대신 조롱 할 수 있습니까?

+0

좋은 아이디어. 이 기능은 IoC 등록 코드이므로 더 이상 묻지 않는 것이 좋습니다. 나는 모의 할 행동의 종류가 많지 않으므로 일단 알아 내면 잘해야합니다. – jlew

+0

즐기십시오 - 행운을 빈다. – razlebe

관련 문제