2011-03-15 67 views
4

我們將單元測試項目從.NET 3.5升級到.NET 4.0。我們還將NUnit從2.5.2升級到2.59。現在單元測試在大約15分鐘內完成後50分鐘後超時。這些測試在我們的開發服務器上的JetBrains TeamCity 6.0.2上運行。有誰知道什麼可能導致這種情況?一些個人測試現在需要8分鐘。升級後,單元測試運行超時一小時後,他們在15分鐘內完成測試

感謝,

傑森

+2

我的第一步是在調試器中運行測試,隨機每隔一段時間暫停一次,以便大致瞭解執行停止的位置。 –

+1

運行測試時,您可以嘗試在NUnit測試運行器上運行統計分析器。運行它20分鐘左右,然後殺死測試跑步者。我使用NProf(http://code.google.com/p/nprof/),但不幸的是它不再被維護,不知道它是否可以與.NET 4一起工作。 –

+0

測試是否在本地開發框中正確運行(在.net 4.0中)?我懷疑.NET 4沒有安裝在你的測試服務器上,或者是那些線上的東西。也許這是一個異常,沒有得到報告? – TheSean

回答

0

好吧,我想通了。我們的域對象類中有一些地方在公共屬性上有驗證器(MS企業庫)。驗證器引用項目資源文件中的鍵。我們的驗證器中沒有任何資源密鑰。這導致了導致我們的單元測試超時的錯誤。我猜.NET 4.0正在變得更加嚴格。感謝大家的建議。 - Jason -

+0

調試TeamCity單元測試超時的最佳方式是遠程訪問構建服務器並運行相同的單元測試。很可能是TeamCity無法檢測到的錯誤,比如你的情況。 – Keith

相關問題