2012-07-29 76 views
3

我在ServiceStack TestHostBase.cs中查看單元測試的源代碼 - 並使用我自己的項目運行它。 如何在沒有真正啓動偵聽器的情況下單元測試時啓用我的插件? 例如,我想測試我的Web服務是否正確驗證,因此我將以下代碼添加到TestHostBase.cs中的Configure中。在ServiceStack中測試插件

Plugins.Add(new ValidationFeature()); 
container.RegisterValidators(typeof(CustomerModelValidator).Assembly); 

但是,當調用base.send與違反驗證規則的Customer對象時,不會進行驗證。 (注意:驗證工作正常,當我開始我的webservice與聽衆)

回答

2

因爲插件可以突變AppHost的任何部分(即添加路由,ContentTypes,請求/響應過濾器,CatchAll處理程序等)。如果不啓動HttpListener(或ASP.NET主機),則無法測試其與服務的集成。

當然,如果你的插件是可測試的,你可以單獨測試它,與服務分開。