2012-01-27 10 views
3

私には大きなテストケースがあります。 testfixturesですべてのテストを1つずつ実行したいです。Nunit - testfixtureでのテストケースのリストの取得

これを行うには、すべてのテストケースの名前をリストに入れてループします。すべてのポインタ?

+1

はなぜちょうどNUnitのコンソールまたはReSharperのテストランナーを使用して、1つのバッチ処理ですべてそれらを実行しませんか? – sll

+0

いいえ、テストケースごとに実行する必要があります。それらを1つのバッチで実行します。 – pink

+0

また、大きなスイートがあり、各テストケースにカテゴリを追加することはできないため、どのカテゴリも使用したくないです。 – pink

答えて

2

あなたは、アセンブリを反映し、[テスト]属性を持つすべてのメソッドを引っ張ってみてください:

List<MethodInfo> testMethods = new List<MethodInfo>(); 
Assembly x = Assembly.LoadFile("CompiledTests"); 
Type[] classes = x.GetExportedTypes(); 
foreach (Type type in classes) 
{ 
    MethodInfo[] methods = type.GetMethods(); 
    foreach (MethodInfo methodInfo in methods) 
    { 
     if (methodInfo.GetCustomAttributes(typeof(TestAttribute), true).Length == 1) 
     { 
      testMethods.Add(methodInfo); 
     } 
    } 
} 
関連する問題