1

データ駆動型テストの自動化に関するアドバイスが必要です。

MVCを使用して開発されたWebアプリケーション用にC#annNunitsを使用してテスト自動化を行っています。これにはSeleniumWebドライバーを使用しています。

データ駆動型テストの一部として、入力テストデータに使用するのに適しているのは、xmlファイルまたはsqlサーバーデータベースです。

dbを使用している場合は、db接続用にORM(NHibernate)を使用することをお勧めします。

ありがとう

4

5 に答える 5

3

data-driven-test-in-nunit-with-csv

NUnitでのパラメータ化されたテスト

使い方

   [Test, TestCaseSource("GetTestData")]
    public void MyExample_Test(int data1, int data2, int expectedOutput)
    {
        var methodOutput = MethodUnderTest(data2, data1);
        Assert.AreEqual(expectedOutput, methodOutput, string.Format("Method failed for data1: {0}, data2: {1}", data1, data2));
    }


    private IEnumerable<int[]> GetTestData()
    {
         while (data.ReadNext()) // Use your custom logic based on Stream to get new data (basically Implement IEnumerator on data class)
          yield return new[] { data.Current };
    }

その他のテストフレームワーク
MSTestXUnit

于 2012-05-11T04:44:44.673 に答える
0

あなたの法案に合うものを見てください。

優れたORMがあり、それに慣れている場合は、それを使用してください。

XMLに慣れている場合は、それを実行してください。

それが問題になるとき、長い実行時間を考えてください。Seleniumで単体テストを作成しているのではなく、統合UIテストを作成しています。したがって、とにかく一般的に夜間に実行されるため、実行時間が長くなることが問題になることはめったにありません。

個人的には、ここではLINQ2SQLを使用しており、SQLサーバーDBにホップするデータはすべて正常に機能します。クエリがばかげていなければ、パフォーマンスへの影響はほとんどありません。

于 2012-05-10T11:00:50.200 に答える
0

私の提案は、テストデータを単体テストフィクスチャ自体にバンドルすることです。各テストメソッドを設定すると、テストの初期状態(データ)が設定されます。分解すると(必要に応じて)クリーンアップされます。

外部データファイルを維持し、それを単体テストコードと一致させようとすると、問題が発生します。(YMMV-これは個人的な経験からの私のアドバイスです。)

于 2012-05-10T21:50:08.443 に答える
0

Mockobjectsを使用してデータをシミュレートすることを検討し、次のリンクを試してください。

于 2012-05-11T04:22:29.853 に答える
0

テストデータをExcelやデータベースではなく埋め込みjsonファイルに保存することを検討してください。

jsonに保存すると、次の利点があります。

  1. スキーマによるテストコードのインピーダンスなし
  2. 接続の問題はありません
  3. テストデータはプロジェクトの一部として利用可能になります

これにより、埋め込まれたjsonファイルでテストデータを管理するための優れたサポートが提供されます

于 2019-03-30T18:26:06.610 に答える