"Typemock Isolator"는 어떻게 모의 정적 메소드를합니까?
-
13-09-2020 - |
문제
몇 가지 알 수 있듯이 일반적으로 .NET에서 정적 메소드를 조롱 할 수 없습니다.
조롱을 통해 클래스의 방법을 동일한 서명으로 다른 방법으로 교체하는 것을 의미합니다.
메소드를 조롱하는 데 사용되는 두 가지 주요 방법은 인터페이스에서 Virtual 또는 IT를 정의하는 것입니다.이 두 가지 중 어느 것도 .NET 정적 메소드에 허용되지 않습니다.
그러나 정적 메소드를 조롱 할 수있는 "Typemock Isolator"라는 값 비싼 도구가 있습니다.아이솔레이터는이 겉보기에 불가능한 묘기를 어떻게 성취합니까?
해결책
기본적으로 Typemock Fake는 해당 객체에 대한 원래 유형의 새 객체를 각 메소드 및 모든 메소드 및 속성 호출에 숨 깁니다. 가짜로 호출을 리디렉션하고 지정한 값을 반환합니다.그것은 .NET Framework ( .net profiler api , 관심이 있다면)이 작업을 수행하지만 모든 것이 "legit"입니다.기술적으로 누구나 TypeMock의 복제본을 구축 할 수 있지만 아직 보지 못했습니다.
제휴하지 않습니다 StackOverflow