2010-11-24 41 views
6

MsTest単体テストをカテゴリ別にグループ化できるか

[Test] 
[TestCategory("Bad Arguments")] 
[TestCategory("Fast")] 
[ExpectedException(typeof(ArgumentNullException))] 
public void TestCopyWithBadHref() 
{ 
    . . . 
} 

次の2つを注意してください。

[TestCategory("Bad Arguments")] 
[TestCategory("Fast")] 

TeamBuildはゲートチェックインを実行するためにMsTestと統合でき、夜間に実行することができます。素晴らしい機能!しかし、いくつかのテストを長時間実行することができれば、すべてのチェックインが確認される前に実行するテストと、その期間だけでなく夜間に実行するテストに分けるのが便利です要因。

これを達成する方法の1つは、低速テスト用、高速テスト用など複数のプロジェクトを作成することです。ただし、この分離は不便です。プロジェクトの依存関係は自然に感じられず、いくつかのテストは複数の論理的なカテゴリーに分類されます。

MsTestにMbUnitが長い間持っていたのと似たものがあれば素晴らしいことでしょう。たとえば、MbUnit.Cons.exeを実行して、コマンドラインスイッチで使用するカテゴリを指定することができます。

どのようにMsTestを使って同じことを達成できますか?私たちはMSFTのショップであり、私は同僚にMbUnitを売ることができませんでした。

答えて

12

あなたはそれがtestcategory attributeを使用していますVS 2010でのテスト

をフィルタリングする/カテゴリオプションを使用することができます。 /category optionの詳細

[Description("test 123456"), TestCategory("Edit Tests"), TestCategory("Non-Smoke"), TestMethod] 
public void VerifyEditsPersist() 
+1

何属性はC#コードでのように見えるん:

C#のコードは次のようになりますか?私が勉強できる例やリンクがありますか? –

+1

Visual Studioの.testsettingsプロファイルを特定のカテゴリのテストを実行するか、カテゴリごとにスキップすることは可能ですか?私はそれがコマンドラインから実行可能だと理解しています...しかし、IDEについてはどうですか? –

+1

テストビューでカテゴリに基づいてテストをフィルタリングできます – sam

関連する問題