2010-03-04 287 views
4

所以我在運行單元測試時遇到了VisualStudio 2008中所有有趣的問題。運行Visual Studio單元測試vs運行ReSharper單元測試,區別?

例如,當運行Visual Studio單元測試時,一些測試失敗,但單獨傳遞。發生這種情況是因爲該測試類中的某些類級變量正在單元測試中重用。

現在通常我會進入每個班級並手動修復此問題!但是,我們正在談論的測試數以千計!

現在來看一個有趣的兩難問題,使用ReSharper單元測試和TFS BuildServer,它們一起傳遞!

有沒有什麼辦法可以配置VS單元測試解決方案以相同的方式運行?我想避免調用[TestCleanup]方法中的[TestInitialize]方法。

回答

4

這通常是不同順序測試的副產品。 ReSharper 4.x和更早的版本根據它們在源文件中出現的順序運行單元測試。幾乎所有其他單元測試運行者都按字母順序運行測試。這種不同的順序可以(但絕不應該)影響測試是否通過/失敗(基於數據庫中的數據或靜態數據)。

ReSharper 5.0不再使用自定義運行程序,因此它應該修復這些不一致性。

但是,這種不一致性表明測試中存在問題。有些人將數據留在應該清理的位置,有些依賴於先前測試遺留下來的數據或受其傷害。

+0

那就是,很高興知道。你會對如何解決這個問題有任何建議:)我正處於我幾乎想要在[TestCleanup]中調用[TestInitialize]的地步。 – Andrew 2010-03-04 17:23:30

相關問題