2012-03-27 2 views
0

단위 테스트 wcf 응용 프로그램을 원합니다. 그러나 Dependency injection과 mock 객체 생성에 대한 적절한 정보를 얻지 못하고 있습니다. 아무도 나에게 뭔가 제안 해 줄 수 있니?모의 객체 생성을위한 문서

답변

0

나는 nSubstitute을 살펴볼 것을 제안합니다. 그것은 내 마음 속에서 다른 사람들보다 이해하기 쉬운 조롱 프레임 워크입니다. 그리고 here은 의존성 주입에 대한 세부 사항입니다. 희망이 있으면 시작하는 데 도움이 될 것입니다.

0

기본적인 의존성 주입은 파악하기 어려운 개념이 아닙니다. 다음 단계를 수행해야합니다.

  1. 추상 클래스 또는 바람직하게는 인터페이스를 만듭니다.
  2. 해당 인터페이스를 구현하는 클래스를 만듭니다.
  3. 생성자의 클래스에 따라 인터페이스를 주입하십시오. 예를 들어

: 효과적으로 그래서 지금 당신이 조롱하거나 좋아하는 조롱 프레임 워크를 사용하거나 직접 작성 스텁 수 MyDomainService 클래스에 IMyRepositoryDependency를 주입 한 것을 이렇게함으로써

public interface IMyRepository 
{ 
    void SaveData(); 
} 

public class MyRepository : IMyRepository 
{ 
    public void SaveData() 
    { 
     //...Do Something 
    } 
} 

public class MyDomainService 
{ 
    private readonly IMyRepository _repository; 

    public MyDomainService(IMyRepository repository) 
    { 
     _repository = repository; 
    } 

    public void SaveNewEntityInDatabase() 
    { 
     //... Do Something 

     _repository.SaveData(); 
    } 
} 

.

WCF에 관한 질문의 첫 번째 부분에는이 질문을 해석 할 수있는 많은 방법이 있으므로 더 나은 도움을 얻으려면보다 구체적이어야합니다.

실제로 원하는 WCF 서비스를 테스트하는 경우 응용 프로그램에만 facade으로 사용하는 것이 좋으므로 실제로 서비스는 테스트하지 않고 비즈니스 계층의 도메인 개체를 테스트하는 것이 좋습니다. 예를 들어

: 더 많은 정보가

public class MyWCFService 
{ 
    public void SaveNewEntityInDatabase() 
    { 
     var myDomainBusinessService = new MyDomainBusinessService(); 
     myDomainBusinessService.SaveNewEntityInDatabase(); 
    } 
} 

public class MyDomainBusinessService 
{ 
    public void SaveNewEntityInDatabase() 
    { 
     //...Do Something 
    } 
} 

나는 다시 내가 정확히 당신이 필요 무엇인지 전혀 모르겠어요, 당신을 제공하지만 수 있습니다. 예제를 단순하게 유지하려고 WCF 부분에서 종속성 삽입 데모를 건너 뛰었습니다.

희망이 도움이됩니다.