1

私は次のものを持っています(NUnitを使用):

    [TestFixture]
    public class SmokeTest : BaseTest
    {
        [Test(SmokeTest)]
        public void ShouldAlwaysRun()
        {
            //Tests,Assertions,etc
        }

        [Test]
        public void ShouldNotRunIfSmoke()
        {
            //Tests,Assertions,etc
        }

    }

プロジェクトの機能領域ごとに TestFixture があります。「SmokeTest」としてマークされたテストのみを実行する「煙テスト」を実行できるようにしたいと思います(おそらく属性を介して)。私はもともと独自のファイルにスモーク テストを持っていましたが、文字通り他のテストをそのファイルにコピー アンド ペーストしていました。

最終的な目標は、スモーク テストを実行しているときを何らかの方法で特定できるようにすることです。

  • スモーク テストを実行している場合は、そのようにマークされたテストのみを実行します
  • スモーク テストを実行していない場合は、スモーク テストを含むすべてのテストを実行します

NUnitを使用してこれをどのように達成できますか?

編集:カテゴリを見つけました:

http://www.nunit.org/index.php?p=category&r=2.2.10

これは素晴らしいことですが、特定のカテゴリのみをいつ実行するかをテスト エクスプローラーまたはビルド構成から指定するにはどうすればよいでしょうか? より良い方法がある場合に備えて、質問をそのままにしておきます。

4

2 に答える 2

0

ReSharpers Testrunner を使用する場合、テストをカテゴリ別にグループ化できる「オプション」ドロップダウンがあります。 Resharper TestRunner - グループ化: カテゴリ

于 2015-07-07T11:22:16.770 に答える
0

そうですね。カテゴリはまさにあなたが必要とするものです。

この機能には、コンソール ランナーへの /include および /exclude 引数の使用と、GUI の別の [カテゴリ] タブからアクセスできます。

したがって、GUI NUnit テスト ランナーとコンソール テスト ランナーの両方で 1 つのカテゴリだけを有効にできます。他のカテゴリ (およびカテゴリのないテスト) は無効になります。

Visual Studio Test Explorer (VS one のことだと思います) が NUnit カテゴリをサポートしているかどうかはわかりません。ただし、ビルド構成でパラメーターを指定して、すべてのテストのサブセットのみを実行する
ことは間違いありません。/include MyCategory

于 2013-10-09T19:52:15.533 に答える