2009-07-19 46 views
2

我嘗試在Vista 64位,MS Visual Studio 2008 SP1,項目框架3.5中使用NUnit 2.5運行單元測試時遇到此問題。無法在Vista 64bit上使用NUnit進行測試

我有兩個項目在解決方案中,第一個主要項目和第二個項目與測試。這兩個項目都針對「任何CPU」平臺。事實上,我沒有改變任何關於平臺的東西,只是用默認設置(Any CPU)創建了兩個項目。

我試着用不同的工具運行NUnit測試:1)使用Resharper 4.5中的任務運行器; 2)TestDriven.NET 2.0; 3)NUnit.exe。每次當我運行單元測試時,我都會收到來自Windows的錯誤報告,說這個程序(1)任務執行者; 2)TestDriven.NET 2.0; 3)nunit.exe)執行已停止。我試圖用nunit-x86運行測試,而且我也遇到了同樣的錯誤。

在從Windows的詳細信息,我看到下面的字符串(其中包括):

故障模塊名稱:KERNEL32.dll中

任何人可以用它幫助嗎?怎麼了?如果有幫助,我可以提供更多細節。

+0

您能否提供異常的更詳細的堆棧跟蹤?嘗試從VS2008調試器運行nunit來更容易地捕捉異常。 – 2009-07-20 01:29:57

回答

1

嗯,問題是關於兼容性和架構。我用調試器運行測試,發現一個方法導致從CLR庫方法拋出StackOverflowException。我不知道爲什麼NUnit沒有從CLR中捕捉到這個異常,但事實並非如此。實際上,NUnit通常會捕獲每個異常,並且只顯示測試的紅色狀態。但顯然不是在這種情況下。無論如何,感謝您的幫助,我認爲如果有人遇到這個問題,他不會感到驚訝:)。