2011-08-12 42 views
1

我必須運行400多個集成測試用例才能運行,每天我將運行5個多小時。我怎樣才能將nunit執行時間減半?有沒有辦法做到這一點?我該如何縮減nunit exceution時間?

+0

你使用模擬對象嗎?存根?請提供更多細節。 –

+0

我沒有任何關於它的是模擬對象或存根 – ratty

+0

@ratty:如果您正在測試的代碼使用[依賴注入](http://en.wikipedia.org/wiki/Dependency_injection),那麼插入模擬或存根變得很多簡單。如果您在測試中編寫代碼,則可能需要查看它。 –

回答

4

可以跨機器運行單獨的nunit測試套件可以幫助您。

+0

是否有可能實現線程和減少時間在單個PC – ratty

+1

看看這裏http://stackoverflow.com/questions/3313163/how-can-i-run-nunit-tests-in -parallel –

+0

除非處理器是多核,否則在給定時間點只有一個線程正在執行時,您不會獲得運行多個線程的任何優勢。 –

3

聽起來像你需要重構你的代碼和測試並引入模擬。 400個測試用例測試類與嘲笑的依賴關係可能不應該需要5個小時;也許5分鐘。儘管如此,這是一個廣泛的假設。

根據我的經驗,當測試需要很長時間才能運行,它們比單元測試更集成測試。也許這是你的意圖。如果不是這樣,請考慮如何更好地隔離每個測試用例。

如果您只負責質量保證並且無法更改代碼,那麼我真的對加速NUnit的想法一無所知。

+0

你會提供一些例子在我的測試用例中實現mocks – ratty

+1

如果OP不能更改代碼,有時他們可以*重新配置代碼。例如,如果代碼是與數據庫無關的(正確使用「NHibernate」類似的東西),那麼他們可以用內存數據庫替換他們的跨線數據庫訪問。需要更多關於應用程序體系結構的詳細信息,以便提供任何建議,當然... –

+0

@ratty不可以做。嘲笑是依賴於接縫,這是特定於您的代碼在測試。 –