2009-03-06 101 views
2

你可以在VS2008的單個測試項目中分組單元測試嗎?你可以在VS2008的單個測試項目中分組單元測試嗎?

例如 - TEST1和TEST2屬於A組 TEST4和TEST5屬於B組

我不想在B組的測試運行,除非我明確地選擇它們。 這是因爲並非所有測試都應該包含在自動測試中。編號:
改編第二部分。
我可以使用測試列表編輯器創建組。是否可以選擇其中一組或兩組進行自動測試?

E.g.我希望A組每晚進行自動化測試,B組則進行手動測試。

回答

-1

Visual Studio單元測試背後的概念強烈建議爲每個目標程序集使用一個測試項目。當然,所有單元測試都可以使用單個測試項目,但您必須手動編寫它們。單元測試嚮導並不那麼靈活。

NUnit更靈活。存儲單元測試的程序集沒有限制。您可以爲所有單元測試使用單個程序集,甚至可以將其存儲在與要測試的目標類相同的類中。

3

在測試視圖窗口中有一個'Group By'組合框。您可以對類名稱,命名空間,描述等進行測試。

因此,通過將您的測試方法中可用的某些屬性(如Category)與您的測試方法結合使用,您可以在運行測試時更具選擇性。

編輯:這只是手動運行測試時的一種解決方案。也許類似的解決方案可用於自動測試,您可以選擇僅運行某個類別的測試或在特定名稱空間中運行測試。

+0

這解決了分組問題,我想我可以創建自定義屬性以滿足自己的需要。 是否可以選擇一個(或多個)創建的組進行自動測試? – John 2009-03-06 11:56:42

2

查看測試列表編輯器(Test | Windows)。這會向您顯示解決方案中的所有測試。在左側,您可以創建組的TreeView,並且可以將每個測試拖入組中。使用每個TreeView節點上的複選框,您可以輕鬆切換要運行或調試的(組)(或多個)測試。

這是你在找什麼?

此信息似乎存儲在vsmdi元數據文件中,因此應該保留。但是,我不確定是否(以及如何)與自動測試相關聯。它看起來像一個VS GUI功能,用於手動分組和運行測試。

編輯:對於自動化測試,我會嘗試爲不同的「場合」分開測試代碼(例如,快速單元測試時總是希望在代碼上運行時運行,可能需要一點時間的性能測試,集成測試在多個圖層上等)到語義上的不同測試項目,即使您使用相同的單元測試框架來物理實現所有這些測試。然後,您應該能夠選擇正確的測試組,以便在正確的時間運行(檢查,每日生成,需要時手動測試)。