2013-03-15 214 views
4

愚蠢的問題,但由於某種原因,我似乎無法弄清楚如何調試單元測試,打在客戶端上的斷點,並進入一個Web服務。在VS 2010中,我只是將我的解決方案設置爲Multiple Startup Projeects,並將調試設置爲客戶端UI測試以及Web服務。當我在UI測試中遇到斷點時,我可以進入Web服務。在VS 2012中,我沒有辦法做到這一點。誰能幫忙?Visual Studio 2012單元測試客戶端和服務調試

+0

你可以在單元測試中打斷點嗎?它只是通過你的web服務調用?你是否已經嘗試在你的web服務中設置一個斷點? – 2013-03-15 19:48:29

+0

是的,它不會觸及那個斷點。我認爲這是因爲調試器沒有附加到該項目,但我不知道如何讓Visual Studio附加到該過程。 – hobeau 2013-03-15 19:52:04

+0

測試菜單測試 - 調試解決方案中的所有測試 – 2013-03-15 19:52:27

回答

3
  1. 在沒有調試的情況下啓動網站(如果它尚未運行)。
  2. 在你的單元測試中放置一個斷點。
  3. 開始你的單元測試。
  4. 當斷點被擊中時,使用調試>附加到進程以附加到iisexpress.exe

official instructions是錯誤的。他們說要先安裝調試器,但如果你這樣做,那麼啓動你的單元測試的命令將被禁用。

總是需要手動連接可能會很痛苦。似乎沒有辦法快速完成它from the Command Window。如果我不得不做很多調試周期,我會臨時將測試代碼複製到某個可能在啓動時運行的Web應用程序中。

+0

對於那些不使用iisexpress而是內置開發服務器的進程,其名稱爲Webdev.webserver.exe – tmanthey 2014-09-03 10:59:06

0

運行Visual Studio的兩個實例。在一個例子中,調試網站。另一方面,運行單元測試。

要試圖啓動網站保持單元測試實例中,選擇網站項目,單擊視圖>屬性窗口,並確保始終啓動調試時