2014-01-28 5 views
0

ServerManager를 사용하는 방법을 어떻게 테스트 하시겠습니까? 분명히 ServerManager를 조롱 할 수는 없습니다. 그리고이 방법은 무효입니다. 해결 방법이 있습니까? 한 사건이 그런 방법을 시험해야합니까? 감사!ServerManager를 사용하는 단위 테스트 방법 .net C#

public void AppPoolRemoval(string poolName) 
    { 
     using (var serverManager = new ServerManager()) 
     { 
      var oldPool = serverManager.ApplicationPools[poolName]; 
      if (oldPool != null) 
      { 
       oldPool.Delete(); 
       serverManager.CommitChanges(); 
      } 
     } 
    } 
+0

우리는 단위 테스트를 할 수있는 인터페이스가있는 ServerManager 주위에 덤 래퍼를 작성하기로 결정했습니다. – nolimit

답변

1

이 코드를 단위 테스트 할 방법이 없습니다. 테스트 할 IIS 인스턴스가있는 곳에서 통합 테스트를 작성하는 것이 좋습니다.

당신 수 추상적 인 인터페이스 뒤에이 논리 : 격리에

public interface IWebServer 
{ 
    void AppPoolRemoval(string poolName); 
} 

다음 단위 테스트이에 따라 코드. 그러나 실제 ServerManager에 연결된 실제 구현은 단위 테스트를 거치지 않습니다.

+0

확인. 그런 방법으로 단위 테스트를하는 것은 정상적인 방법이 없다고 보입니다. 감사. – Mike