3

実際のカスタム オブジェクトと比較する必要がある膨大なデータを含む単体テストがあります。そのため、予想されるカスタム オブジェクトを作成し、それに膨大なデータを入力する必要があります。現在、予想されるカスタム オブジェクトをコードでハード コーディングしています。テストしているメソッドの入力として、異なるデータセットを使用してテストするシナリオがあります。データのセットに応じて、実際の応答(巨大なデータ)となる相対的な出力を取得する必要があります。コードに期待値をハードコーディングする以外に、上記のシナリオのベスト プラクティスはありますか? (XML や CSV のようなもの)。

4

1 に答える 1

0

を使用して、オブジェクトをシリアル化するコードを作成できますXmlSerializer

アプリケーションが実行されていて、メモリに正しいオブジェクトがある場合は、そのコードを呼び出す必要があります。

XMLをファイルに保存し、テストでXMLからオブジェクトを作成します。

さまざまなシナリオをカバーできる複数のXMLファイルがある場合があります。

私のアプリケーションには、外部Webサービスからデータをインポートするコードがありました。サービス応答オブジェクト用にいくつかのXMLを生成し(それらは巨大でした)、それらを使用して解析ロジックをテストしました。

更新:このトリックは、エンティティオブジェクトに対してのみ機能します。ファイルまたはデータベースで機能するクラスをシリアル化/逆シリアル化することはできません。

ここにサンプルコードがあります。 http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm

于 2012-06-05T18:53:29.110 に答える