2012-03-27 48 views
0

我想單元測試WCF應用程序。但是我沒有獲得足夠的信息用於依賴注入和創建模擬對象。任何人都可以給我一些建議嗎?文檔創建模仿對象

回答

0

我建議在看看nSubstitute。這是一個嘲弄的框架,在我看來比其他人更容易理解。 和here是依賴注入的一些細節。 希望這可以幫助你開始。

0

基本依賴注入並不是一個難以掌握的概念。您需要執行以下步驟:

  1. 創建一個抽象類或最好是一個接口。
  2. 創建實現該接口的類。
  3. 注入依賴於它的構造函數的類接口。

例如:

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(); 
    } 
} 

通過這樣做,你已經有效地注入IMyRepositoryDe​​pendency到MyDomainService類,所以現在你可以嘲笑或使用您喜歡的模擬框架或編寫自己的這存根。

對於你的問題的有關WCF有很多的方法,我可以解釋這個問題,那麼你就必須更加具體,以獲得更好的幫助的第一部分。

如果您想要做的是實際測試WCF服務,我建議您僅將這些用作應用程序的facade,因此您不需要實際測試服務,而是測試業務層的域對象。

例如:

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

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

有很多的更多信息,我可以給你,但是,我又不是很確定究竟是什麼,你需要什麼。我跳過了WCF部分的依賴注入演示,試圖保持示例簡單。

希望這會有所幫助。