2009-09-15 81 views
12

Resharper單元測試運行程序運行速度明顯低於nunit控制檯或nunit gui。Resharper單元測試運行程序比NUnit控制檯顯着更慢

例如,3800個測試通過nunit控制檯需要超過60秒,但這些相同的測試需要5分鐘的時間才能在Resharper Unit Test runner中運行。爲什麼有如此顯着的差異?

由於我們的測試代碼庫已經顯着增長,這真的開始減慢我們的速度。有沒有人遇到過類似的問題?你怎麼處理它?

Resharper Visual Studio集成非常好,但我們可能需要採取其他措施。

+2

根據我的經驗*使用Resharper時,大多數事情*會比較慢,這真的很可惜,因爲除此之外它是一個很好的加載項... – 2009-09-15 21:23:03

回答

14

我有同樣的問題,我切換到TestDriven.Net,它閃電般快。

+1

Jamie Cansdale的TestDriven.NET的+1。它是一個超級軟件。不過,我發現Resharper的測試跑步者在運行較小的測試套件時會很滿意。 – 2009-09-15 21:30:44

+0

vs2010內部測試賽跑者也非常快。太糟糕了,它不適用於nunit :( – andrecarlucci 2010-11-24 12:19:56

+1

只是我的2cents,但從TestDriven.Net,也有NCrunch這種類型的事情,它是,恕我直言,必須有一個工具與resharper一起。 – pms1969 2014-04-01 12:57:36

8

我不認爲Resharper的目標是提供一個實用程序來從Visual Studio中執行整個測試套件。這通常是運行持續集成工具的構建服務器或測試套件服務器的目標(如從CruiseControl啓動的NUnit)

Resharper單元測試運行器通過運行少量單元測試來診斷和滿足特定單元的代碼。它允許您創建專注的測試套件,可以方便地從工作室內運行,調試,重複和快速分析,無需等待構建。

我會建議利用構建服務器來運行完整的測試套件。

+8

我們正在使用一個構建服務器來運行測試,但我們的策略是儘量不要在提交更改之前中斷構建,因此我們通常在提交之前運行所有單元測試。 – jamesaharvey 2009-09-15 21:32:57

+0

R#的測試運行器非常方便快速爲了避免打破構建,你可以使用TeamCity的Personal Build或Pre-Commit選項。請參閱http://www.jetbrains.net/confluence/display/TCD4/Personal+Build(可選),只需從Tools中運行NUnit菜單 – TrueWill 2009-09-16 01:17:44

+6

利用構建服務器來運行整套測試是一個糟糕的主意,它會產生很多破損的構建,並且會導致持續部署失效,更新,測試全部,然後提交。 – andrecarlucci 2010-11-24 12:18:19

相關問題