2011-06-28 17 views
0

私の質問は次のとおりです。nunitテストをどのように同じ名前空間のカテゴリ別に実行するか、混在テストなしで実行するか?次のように

同じ名前空間でのテストケースは、これらのテストケースは、AとBのカテゴリーで分類されている場合、私は量を持って、私は最初、カテゴリA [カテゴリBを実行する必要が

問題は、(nunit guiの)カテゴリを選択すると、私が期待しているカテゴリではなく、表示される順番でテストが実行されるということです。例えば、私はテストケースを有する

  • WhenUserTriesToAddLineItemGroup [CateogryのB]
  • WhenUserTriesToCreateTopic [Cateogry A]
  • WhenUserTriesToCreateAreas私は実行する必要がある[Cateogry A]

最初に: WhenUserTriesToCreateTopicおよびWhenUserTriesToCreateAreas と秒: W henUserTriesToAddLineItemGroup

ただし、リスト内の順に実行されています。どうしたら、必要な方法でテストを実行できますか?

ありがとうございます!

+0

単体テストは、任意の順序で、または一度に1つずつ実行できるように、互いに分離する必要があります。 – eulerfx

答えて

1

NUnitは、単一のテストが完全に自律的であるという概念に基づいています。テストを実行する前に行う必要があることがある場合は、SetUpメソッドに入れられます。テストに副作用がある場合は、TearDownメソッドを使用してこれらの副作用を元に戻すことができます。単一のテストをいつでも実行できることを前提としており、そのテスト順序は重要ではありません。これには開発者にとっていくつかの利点があります。なぜなら、前提条件を気にせずにテストを実行でき、あるテストの合否条件が別のテストの合格/不合格条件に依存しないからです。

最初にテストにこれらの制限がある理由を再考し、より分離された機能をテストし、システムの前提条件を持たないように書き直してみることをお勧めします。原則として、これらのテストを単一のテストに組み合わせることで、依存関係を処理できるようになりますが、通常は非常に大きなテストにつながるため、通常は素晴らしい解決策ではありません(ユニットテストは通常​​、の機能性)。テストする必要がある条件を見て、システムがどの状態にあるか、または他のテストが既に実行されていることを前提にしなくても、各テストを最初から作成してその条件をテストする方が良いでしょう。

あなたがテストしようとしていることについてさらに詳しく述べることなく、あなたのシステムを改善する方法を具体的に示唆するのは難しいですが、一般に、各テストが完全に自律的であればユニットテストを最大限に活用します。

関連する問題