実際のカスタム オブジェクトと比較する必要がある膨大なデータを含む単体テストがあります。そのため、予想されるカスタム オブジェクトを作成し、それに膨大なデータを入力する必要があります。現在、予想されるカスタム オブジェクトをコードでハード コーディングしています。テストしているメソッドの入力として、異なるデータセットを使用してテストするシナリオがあります。データのセットに応じて、実際の応答(巨大なデータ)となる相対的な出力を取得する必要があります。コードに期待値をハードコーディングする以外に、上記のシナリオのベスト プラクティスはありますか? (XML や CSV のようなもの)。
質問する
639 次
1 に答える
0
を使用して、オブジェクトをシリアル化するコードを作成できますXmlSerializer
。
アプリケーションが実行されていて、メモリに正しいオブジェクトがある場合は、そのコードを呼び出す必要があります。
XMLをファイルに保存し、テストでXMLからオブジェクトを作成します。
さまざまなシナリオをカバーできる複数のXMLファイルがある場合があります。
私のアプリケーションには、外部Webサービスからデータをインポートするコードがありました。サービス応答オブジェクト用にいくつかのXMLを生成し(それらは巨大でした)、それらを使用して解析ロジックをテストしました。
更新:このトリックは、エンティティオブジェクトに対してのみ機能します。ファイルまたはデータベースで機能するクラスをシリアル化/逆シリアル化することはできません。
ここにサンプルコードがあります。 http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm
于 2012-06-05T18:53:29.110 に答える