2011-03-25 47 views
9

我遇到了30分鐘後我的測試超時的問題。關於設置無限超時的任何想法?我嘗試過Timeout(0),但它在30分鐘後仍然會引發超時。禁用C#中的單元測試超時

我跑在Visual Studio 2008中

+0

您將不得不提供更多信息,例如您開始測試什麼類型的應用程序。 – ChrisF 2011-03-25 21:11:32

+0

您尚未指定您正在使用的單元測試框架,或者您指定超時的位置。 – 2011-03-25 21:11:41

+0

你在測試那個超時?什麼測試框架?什麼是拋出超時? – Oded 2011-03-25 21:11:43

回答

18

自30分鐘上述單元測試是用於Visual Studio的測試框架單元測試默認的超時時間,我會採取猜測,這是什麼你指的是。如果沒有,請提供更多詳情。

可以在至少兩種方式設置此超時:

  1. 裝飾特定TestMethods與屬性:[Timeout(TestTimeout.Infinite)];
  2. 使用Test -> Edit Test Settings -> [settings you're using] -> Test Timeouts

請注意,如果您使用(2)執行此操作,則必須在應用更改之前關閉並重新打開VS中的解決方案。

+0

是的 - 這就是正確的:)這就是我要建議的。 – 2011-03-26 05:15:31

+0

我嘗試了兩個建議,但無法讓他們工作。我無法找到TestTimeout.Infinite,所以我嘗試了超時(Timeout.Infinite),這沒有奏效。當通過設置菜單時,沒有選項將超時設置爲無限(我試過00:00:00)。我可以輸入的最長時間是23:59:59。 – Eric 2011-03-28 17:54:07

+0

TestTimeout枚舉可以在Microsoft.VisualStudio.TestTools.UnitTesting中找到。也許你錯過了「使用」/參考? – telewin 2011-03-29 15:38:38

0

它爲我工作。您必須將其添加到測試方法之上的C#測試代碼中:

[Timeout(TestTimeout.Infinite)] 
[TestMethod()]