2014-10-08 162 views
0

我應該說我在C#的模擬框架世界相當新。我正在構建一個使用System.Net.HttpListener監聽傳入HTTP請求的小型服務,並希望通過注入該類的模擬實例來單元測試我的實現。所以我嘗試使用Moq,但這當然要求模擬目標是一個接口,以便它可以提供存根實現。然後我嘗試使用Microsoft Fakes,但它不會讓我生成StubHttpListener。那麼是否有其他方法來模擬System.Net.HttpListener的行爲?單元測試與模擬HttpListener

回答

2

寫一個包裝HttpListener並提取從,那麼你可以模擬接口/存根您的包裝

1
  1. 創建自定義的接口包含使用的HttpListener
  2. 服務方法創建一個從HttpListener派生自己的類的類並使用HttpListener方法在服務類(使用的IoC或其它力學)從P.1調用
  3. 拉接口和映射依賴注入到自定義類從P.2
  4. 模擬定製interfa從P.1實現接口ce從p.1到單元測試服務