6

テストの実行中に、選択したテスト カテゴリをプログラムで取得する方法はありますか? TestContext.Properties["_SELECTCATEGORIES"] の行の何か

基本的に、データベースからテスト データをロードするテスト ケースがあります。多くのテストがあるため、プロジェクトのロードに時間がかかります。カテゴリが選択されていない場合、testCaseSourcesが何も返さない方法を見つけようとしています

4

1 に答える 1

2

更新しました

NUnit フレームワーク自体内の NUnit テスト アセンブリで選択したカテゴリを識別またはロードする簡単な方法はないようです。

リフレクションを使用すると、またはCategoriesで装飾されたクラスのプロパティをスキャンできます。これらのカテゴリをロードするカテゴリと一致させることで、ロードする前にロードするテストを除外できます。TestAttributeTestFixtureAttribute

そして、TestContext.Test.Propertiesキーがあります_CATEGORIES(NUnit 2.5.7 以降で利用可能):

[Test]
[Category("Hello")]
public void TestCategory()
{
  Assert.IsTrue(((ArrayList)TestContext.CurrentContext.Test.Properties["_CATEGORIES"]).Contains("Hello"));
}

TestContextこのクラスに関する詳細は、こちらでご覧いただけます。もちろん、このアプローチで問題を解決するには、テスト アセンブリ全体を読み込んですべてのテスト ケースを事前にループする必要がありますが、これはシナリオでは明らかに望ましくありません。

于 2012-06-13T15:39:44.667 に答える