2014-10-12 2 views
0

현재 정적 메서드가 많은 제 3 자 정적 유형을 사용하는 응용 프로그램을 개발 중입니다.정적 유형을 래핑 할 때의 문제

예. 테스트 목적 I 인스턴스 메소드와 비 정적 타입으로이 정적 유형을 배치하고 (동적 모의 객체를 생성하는 posibillity을 제공하기 위해)을 위해

public static class A { 
    public static void M() { 
    //some actions 
    } 
} 

.

public class WrappedA : InterfaceForTesingNeeds { 
    public void WrappedM() { 
    A.M(); 
    } 
} 

public interface InterfaceForTesingNeeds { 
    void WrappedM(); 
} 

은 지금은 A 메소드의 양이 각각의 방법의 수동 포장을 수행하기에 너무 중요 문제에 직면하고있다. 아무도 정적이 아닌 정적 유형의 "자동 줄 바꿈"과 같은 기능을 수행 할 수있는 방법을 제공 할 수 있습니까?

+1

왜 이러한 메서드를 래핑 하시겠습니까? 당신이 말했듯이, 아무런 유익이없는 많은 비용이 있습니다. 가짜를 사용하십시오. http://stackoverflow.com/questions/26095050/how-to-test-a-method-that-queries-a-database-without-actually-performing-theque/26095241#26095241을 참조하십시오. –

답변

1

대부분의 조롱 프레임 워크는 솔루션의 아키텍처를 변경하고 인터페이스를 만들고 구현하며 구현을 동적으로로드해야합니다.

그러나 Microsoft Fakes를 사용할 수도 있습니다. 응용 프로그램을 변경할 필요가 없습니다. Fake는 Visual Studio와 함께 제공되므로 다운로드하거나 설치할 필요가 없습니다. 자세한 내용은

http://msdn.microsoft.com/en-us/library/hh549175.aspx

마이크로 소프트 페이크 당신이 스텁 또는 심과 응용 프로그램의 다른 부분을 교체하여 테스트하는 코드를 분리하는 데 도움을 참조하십시오. 이것들은 테스트의 통제하에있는 작은 코드 조각입니다.

가짜를 사용한다는 것은 쓸데없는 포장 코드를 쓰고 유지하는 데 시간을 소비 할 필요가 없으므로 컴퓨터가 실행에 시간을 소비 할 필요가 없다는 것을 의미합니다. 래퍼 클래스를 작성하는 금식 방법은 무엇입니까? 그 (것)들을 쓰지 않기!

관련 문제