2

私のプロジェクトは、最小値と最大値を取得することにより、各データ型に対していくつかの値 (等分割法) を生成します。機能テスト用の値を生成しています。実際にこの値を nunit パートナーに渡しています。max amd min は int、float、double などに適用できます。これらの値は test data です。

最初に、int、float、double、string などの基本的なデータ型を生成しました。

ここで、DataSet、HashTable、その他のコレクションなどのデータ型をサポートする必要があります。

public DataSet MySampleMethod(int param1, string param2, Hashtable ht)

この関数をテストするために、int と string の値を渡すことができますが、ht のテスト データを渡す方法や、ハッシュ テーブルのテスト データを生成する方法を教えてください。

4

2 に答える 2

2

最初に-私は常にユニットテストのランダム値をシードして、繰り返し可能にするようにします-ただし、次のようなものです(Dictionary<,>の代わりに使用しますがHashTable、同等です):

        Random rand = new Random(123456); // note seed
        Dictionary<int, double> lookup = new Dictionary<int, double>();
        for (int i = 0; i < 5000; i++)
        {
            lookup[rand.Next(100000)] = rand.NextDouble();
        }
于 2009-03-24T07:57:10.873 に答える
0

単体テストにはランダム データを使用しないでください。テストは、選択したデータに応じてランダムに成功または失敗する可能性があり、失敗した理由を見つけようとすると、予測可能な方法で失敗を繰り返すことができないため、コードのデバッグに非常に苦労する可能性があります。

于 2009-03-24T07:51:47.157 に答える