2011-01-10 9 views
2

XMLファイルを含むフォルダの構造に基づいてテストを動的に生成しようとしています。したがって、たとえば言うフォルダ構造とXMLファイルを使用してNUnitでテストフィクスチャとテストケースを動的に生成

を(テストはSelenium RCのを駆動するためのXMLファイルを使用)I持っても

TestData 
    TestFixtureOne 
     TestCaseOne 
     Data.xml 
     TestCaseTwo 
     Data.xml 
     TestCaseThree 
     Data.xml  
    TestFixtureTwo 
     TestCaseOne 
     Data.xml 
     TestCaseTwo 
     Data.xml 
    TestFixtureThree 
     TestCaseOne 
     Data.xml 
     TestCaseTwo 
      Data.xml 
     TestCaseThree 
     Data.xml 
     TestCaseFour 
     Data.xml 
     TestCaseFive 
     Data.xml 
(私はセレンRCを駆動するために使用data.xmlのファイルが含まれているそれぞれの)サブフォルダが含まれている3つのフォルダ私は現在持っている

コードはとても

using System; 
using System.Text; 
using System.Threading; 
using NUnit.Framework; 
using System.Collections.Generic; 
using System.Collections; 
using System.Configuration; 
namespace NUnitIntegration 
{ 
    [TestFixture] 
    class SeleniumTest 
    { 
     private static string testDirectory; 

     public SeleniumTest() 
     { 
      testDirectory = ConfigurationManager.AppSettings["TestDirectory"]; // Let’s assume this value is “C:\TestData\” 

     } 

     [SetUp] 
     public void init() 
     { 
      // Nothing needed as of yet 
     } 

     [Test, TestCaseSource("GetTestCases")] 
     public void TestSource(string test) 
     { 
      System.Console.WriteLine("Successfully executed test for: " + test); 
     } 

     [TearDown] 
     public void dispose() 
     { 
      // Nothing needed as of yet 
     } 

     private static string[] GetTestCases() 
     { 
      return getTests(); 
     } 

     private static string[] getTests() 
     { 
      return Directory.GetDirectories(testDirectory); 
     } 
    } 
} 

のようなものです。しかし、これは唯一私が後だものではありませんこれは(下記参照)TestFixtureOne、TestFixtureTwo、およびTestFixtureThreeフォルダを私を取り戻すだろう。私はそれを柔軟にして、必要に応じてもっと多くのテストを追加できるようにしようとしていました(もっとTestFixturesとTestCases)。

[NUnitのテストツリー] は、TestSource TestFixtureOne TestFixtureTwo TestFixtureThree

私はかなり執拗最近検索し、非常に多くの私を助けたこれらのスレッドに出くわしたが、今私がこだわっていました!

used in multiple [TestFixture]s (そして、私はから上記のコードを持って、別のスレッド)

すべてのヘルプは非常に私はあなたがGetFilesを使用する必要があるかどうかわからないんだけど、

よろしく

答えて

1

をいただければ幸いです()メソッドを使用してXMLファイルを取得しますが、再帰的にディレクトリを取得することができます

return Directory.GetDirectories(testDirectory, "*", SearchOption.AllDirectories); 

詳細この機能に関する情報here

関連する問題