2010-08-19 105 views
2

我想找到關於mstest(VS 2008)和nunit(最新)的性能比較好的比較。比較表現Nunit與MsTest

我發現只有約特性,不是執行的時間例子文章:/

我會幫忙感謝

+0

爲什麼這麼重要?只需使用最適合您的功能並具備您需要的所有功能 – 2010-08-19 08:01:47

+0

我想使用NUnit,但我的項目經理希望擁有數字:/ – user278618 2010-08-19 08:11:35

+3

除了新建的類和調用方法外,框架實際上都沒有其他任何功能。正在測試的代碼是需要花費時間的。但是,如果你真的需要這個號碼。自動生成一組100個固定裝置,每個測試都執行一組基本斷言(1 == 1)。運行它們並計時。如果差異很大,我會感到震驚。 – ryber 2010-08-22 21:31:56

回答

0

測試運行實際上做了很多 - 它必須找到所有測試類,然後在調用它們之前識別所有的測試方法(可能通過反射,但可能不是)。它還必須彙總並報告結果。所有這些都可以是有效的或其他方式,因此可能會有明顯的性能差異,尤其是在套件中有大量測試的情況下。

1

我有使用MSTest和NUnit的經驗。根據我的經驗,MSTest比NUnit慢得多。測試的實際執行可能幾乎相同,但MSTest的設置和拆卸時間明顯更多。

請注意,我已經通過集成的VS GUI運行了MSTest單元測試,這可能是爲什麼它很慢(與輕量級NUnit GUI相比)。顯然你可以通過命令行運行MSTest,這可以改善安裝和拆卸時間。

但還有其他的事情要考慮。 MSTest缺少一些NUnit所具有的功能,而NUnit的功能更爲成熟。此外,使用NUnit的錯誤修復將比MSTest快得多(服務包的發佈頻率是多少?)。

另外NUnit沒有Visual Studio的工作,這意味着你可以在服務器上運行這些測試,而不需要另一個VS許可證。我已經閱讀了讓MSTest在沒有VS的情況下運行的方法,但是它涉及複製文件,這些文件可能違反許可條款,也可能不違反。