2013-08-29 34 views
4

我正在運行我的單元測試ona測試代理。我已經將我的測試設置更改爲使用ParallelTestCount =「0」,以便測試可以並行運行。然後我有失敗的測試,因爲測試使用的是同一個模擬實例。Mstest ParallelTestCount測試類不測試

是否有無論如何我可以並行運行每個測試類而不是單個測試?

是否有更好的替代MSTEST命令行來測試我的二進制文件?

我在運行Visual Studio 2012和TestAgent和控制器提前

+1

是否可以確保您的測試不依賴於彼此(通過刪除共享狀態)?創建相互依賴的單元測試是很危險的。 –

+0

它並不是說它們互相依賴,而是在測試初始化​​程序中我設置了Mocks,每個測試運行即減少代碼......我有200個失敗的4000個測試,我希望不要重構它們......所以如果我可以同時運行測試課,那麼我不會有這個問題... – MicroMan

回答

0

由於有,據我所知,沒有這樣的選擇。

這些失敗的測試實際上表明你有單元測試之間的共享狀態 - 在這種情況下是類字段(模擬)。

考慮在每次測試中創建共享對象,而不是使用TestInitialize創建模擬對象,如果它是完成的設置,則使用輔助方法。

我不建議在兩種方法之間分割你的測試,我認爲這個最小代碼重複不僅可以確保你沒有共享狀態,還可以創建更多可讀的測試,並確保意外編輯你的初始化方法不會導致其他測試失敗。

有關我爲什麼不喜歡使用SetUp/TestInitialize的更多信息,請查看James Newkirk blogmy own thoughts on the subject