2011-11-10 82 views
3

我同時運行了我所有的單元測試,當最近遇到的問題。單元測試一直掛在Visual Studio 2010中

我可以對它們進行調試和運行我的測試中單獨沒有問題,但運行他們都在一起時,試運轉一直通過掛了一半。

出現這種情況:

  1. 「運行所有測試的解決方案」
  2. 第一次測試解析沒有問題(慢然後如常雖然)
  3. 在某個時候被卡住。沒有任何失敗,沒有例外,VS只是停止運行待定測試。
  4. 當停止試運轉它被再次卡住了,我需要重新啓動VS中止試運行。

通常我會在我的代碼中看到一個錯誤,但是自上次成功的測試運行以來,我沒有對代碼進行更改。我做的唯一的事情就是運行Performance Wizard - Cuncurrency分析。

它總是停在同一個地方,從運行除去一些測試時,它停止了新的地方(仍然沒有實際進入任何剩餘的測試)。

我不知道是什麼原因造成這一點。但似乎我有問題與VS設置,而不是代碼錯誤。

有什麼建議嗎?性能嚮導是否改變了可能影響測試運行方式的任何設置?

系統細節: Windows 7旗艦版64位, 的Visual Studio 10高級

回答

1

我無法真正解釋爲什麼這會起作用,但它解決了問題!

我扭轉了「的.csproj」文件的早期版本,在已經與性能嚮導‘接觸’的項目之一,而現在我的測試工作。

ALSO注意性能嚮導可以從「DEBUG」改變溶液配置,以「釋放」在某些情況下模式。對我來說情況並非如此,但對於我的一些同事來說卻是一種痛苦。

1

這聽起來像一個併發的問題。似乎有一個測試改變了testen環境,使得另一個測試陷入僵局。當您刪除一些測試時,測試運行順序會發生變化,並且其他一些測試會卡住。

所以我會尋找一個關於你的測試環境/ externall依賴關係的併發問題。

+0

這對我來說似乎是devenv.exe中的bug/concurrency問題(沒有進程隔離afaict) - 主線程掛起等待鎖定(與繪製我懷疑的測試結果窗口有關)並且ide死亡。 – fusi