Asp.net
如何在調試 Web 項目的同時執行測試?
在一些解決方案中,我們有 ASP.NET/WCF Web 項目和一個測試項目。一些測試使用
http://localhost:port/.... 在 VS2010 中,當調試 ASP.NET/WCF web 項目時,測試執行器可以執行測試,如果 web 項目中有任何斷點,調試器將中斷執行。這似乎已在 VS2012 中被禁用/刪除。調試 ASP.NET/WCF Web 項目時(通過按 F5 或通過附加程序啟動),TEST->Run 和 TEST->Debug 子菜單都被禁用。在 VS2010 中,只有 Test->Debug 子菜單被禁用,而 Test->Run 子菜單仍然被啟用。我們使用這種方式來輕鬆調試 Web 項目中的服務。有什麼方法可以恢復這種行為或解決方法?
在 ASP.NET 開發伺服器上執行時進行調試似乎不適用於 VS2012,或者至少我無法讓它工作。
我最終寫了一個快速外掛。事實證明,與 VS2012 一樣,VS2012 測試執行器也可以在調試 Web 項目時執行測試。只是菜單選項被禁用。
在 VS2013 中情況是一樣的:當項目正在執行/調試時,執行/調試測試的選項是灰色的。這是一種恥辱,尤其是對於像 Web API 這樣的項目,通過 HTTP 呼叫 API 的測試(而不是創建 Controller 類的實例並規避任何網路流量)非常有用,因為它們更接近 API 的最終使用者會體驗。
作為一種解決方法,您可以在單獨的 VS 實例中打開相同的解決方案,或者使用相同的項目創建單獨的解決方案,專門用於測試。在第一個 VS 實例中調試,在第二個實例中執行測試。