テストの実行中に、選択したテスト カテゴリをプログラムで取得する方法はありますか? TestContext.Properties["_SELECTCATEGORIES"] の行の何か
基本的に、データベースからテスト データをロードするテスト ケースがあります。多くのテストがあるため、プロジェクトのロードに時間がかかります。カテゴリが選択されていない場合、testCaseSourcesが何も返さない方法を見つけようとしています
更新しました
NUnit フレームワーク自体内の NUnit テスト アセンブリで選択したカテゴリを識別またはロードする簡単な方法はないようです。
リフレクションを使用すると、またはCategories
で装飾されたクラスのプロパティをスキャンできます。これらのカテゴリをロードするカテゴリと一致させることで、ロードする前にロードするテストを除外できます。TestAttribute
TestFixtureAttribute
そして、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
このクラスに関する詳細は、こちらでご覧いただけます。もちろん、このアプローチで問題を解決するには、テスト アセンブリ全体を読み込んですべてのテスト ケースを事前にループする必要がありますが、これはシナリオでは明らかに望ましくありません。