6

我正在尋找對我的測試進行分類的最簡單方法,以便我可以分別運行它們。將MsTest案例分類

我的組織會像下面

  • 單元測試
  • 集成測試
  • 系統測試

這樣做的原因是我們所有的測試還沒有進化成完全自動化了。我們大部分單元測試都是完全自動化的,而集成系統測試都沒有。但是,所有測試對於在開發人員機器上調用仍然有用。

爲了簡單起見,我想,如果我們可以只承諾我們的不同類型的測試具有鮮明的屬性[IntegrationTest][TestCategory("Integration")]所以我們構建服務器只運行我們想要的測試。

我知道nUnit有測試類別,但是我們的團隊喜歡MsTest + IDE集成的Microsoft Stamp批准。

您的團隊如何解決此問題?
是否有擴展提供此功能?
這將被內置到.Net 4.0嗎?

由於

回答

1

這些基本上是不同類型的測試,因此應被放置在不同的項目。

有很多很好的理由讓集成測試和單元測試分開,在這種情況下也會有所幫助。

  • 經過測試的每個類庫都應該有一個(或多個)關聯的單元測試項目。
  • 集成測試應該進入一個(或多個)單獨的測試項目,以便您可以根據需要進行更改。

您可以有不同的解決方案文件包含一些,但根據您希望運行的測試套件的類型排除其他測試項目。

請注意,此戰略將與MSTest任何其他測試框架,您可能會決定使用在未來,我會考慮一個額外的好處。

3

你看過測試列表功能?點擊Test -> Windows -> Test List Editor調出管理測試列表的UI。右擊List of Tests並選擇New Test List給它一個名稱並保存。之後,將測試拖入新組中,創建可以一起運行的子集All Tests

另一種方法是使用Test View工具窗口的過濾功能來選擇具有相似特徵的測試。它會匹配部分,所以你可以切換到Test Name並輸入「Asp」之類的東西來匹配包含該字符串的所有測試,然後通過選擇所有過濾的項目來一起運行結果。缺點是你可能不得不重新命名你的測試。

按照同樣的思路,並且更加接近你想什麼,你可以右鍵點擊測試在Test View窗口中,選擇Properties和填充Description財產或者您可以通過裝飾與Description屬性測試建議。之後您可以使用先前的方法來過濾測試(這一次過濾在Description)雖然不是該領域的預期用途,但它可以實現您想要的結果