5

C# VS2008 で Xml データソースを使用して、データ ドリブンの単体テストを作成しています。

属性はこのようなもので、すべてがうまく機能します。

    [DeploymentItem("HtmlSchemaUrls.xml")]
    [DataSource("DataSource", "Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\HtmlSchemaUrls.xml", Microsoft.VisualStudio.TestTools.WebTesting.DataBindingAccessMethod.Sequential, "URL")]
    [DataBinding("DataSource", "URL", "URL_Text", "DataSource.URL.URL_Text")]
    [TestMethod]

Microsoft.VisualStudio.TestTools.DataSource.XML データソースの機能を拡張したいと考えています。できれば App.config で構成できます。たとえば、bool が true の場合は Xml ファイルのすべての行を処理し、false の場合は 1 つのみを処​​理します。

テスト ケース自体でこのチェックを実行したくありません。この要件を持つテスト ケースが数千あります。

これを達成する方法についてのガイダンスをいただければ幸いです。

4

1 に答える 1

1

AssemblyInitialize を使用して、テスト セット リポジトリから XML テスト セットをコピーします。
1 - この方法では、[DeploymentItem("HtmlSchemaUrls.xml")] は必要ありません
2 - コピーするだけでなく、テストする必要があるレコードを含む新しいファイルを作成します (パラメーター化された xsl を使用しますか?)
3 - すべてのパラメーターその操作は app.config に保存できます

短縮された例 (単純なコピーを使用して、データ ドリブン テスト ケース環境を準備します。

[AssemblyInitialize()]
public static void AssemblyInit(TestContext context)
{
  ...
  string strRelocatedTestCaseFile =
    Path.Combine(TheToolBox.ShortPath(AppDomain.CurrentDomain.BaseDirectory),                                                                        
                 "TestCase.xml");
  if(!string.IsNullOrEmpty(strTestCaseFile)) 
  {
    string strMessage = "Copying TestCase input file: '" + 
                        strTestCaseFile + "' to '" + strRelocatedTestCaseFile + "'";
    Console.WriteLine(strMessage);
    File.Copy(strTestCaseFile, strRelocatedTestCaseFile, true);
  }
}
于 2012-11-28T19:01:16.440 に答える