我目前正在做一些單元測試,部分功能是調用 API(它有點太多而且工作敏感,無法完全解釋它在這里做什么......)。本質上,API 將接收請求,進行一些處理并將該請求轉發給相關方。我需要測試該代碼,抽象它是不可行的,因為它已經被很好地抽象了,但是有一些HttpClient我無法刪除的硬依賴(在某個階段,我將不得不調用它......)。我一直在使用 Owin TestServer 創建一個內存中的 webapi 服務器,在此處查看 Strathweb:https ://www.strathweb.com/2013/12/owin-memory-integration-testing/大衛惠特尼在這里:http : //www.davidwhitney.co.uk/Blog/2015/01/07/testing-an-asp-net-webapi-app-in-memory/和 DontCodeTired:http ://dontcodetired.com/blog/post/In-Process-Http-Server-for-Integration-Test-Faking-with-Owin-Katana-and-WebAPI我遇到的問題是,我創建的用于發出請求的 WebApi 服務器將自動檢測項目中的其他 API 并針對該 API 運行請求,而不是使用我的單元測試/模擬控制器。如何使用類中使用的HttpConfiguration對象WebApp.Start<**Startup**>()只使用一個控制器?我的意思是這個類:internal class Startup{ public void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); config.EnsureInitialized(); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; app.UseWebApi(config); }}我不清楚如何解決這個問題,因為所有在線示例都在談論映射 HTTP 路由,而不是刪除/手動添加路由。如果您有任何問題/批評,請添加評論,我會盡我所能更新問題,我覺得由于工作原因,我可以發布的內容可能會受到一些限制。
- 1 回答
- 0 關注
- 164 瀏覽
添加回答
舉報
0/150
提交
取消