私のコードでは、時折、さまざまなバイト配列などが渡されます。また、それらは管理オブジェクトでもよい。私は具体的な例に対してテストケースを書くことができるように、それらのメモリ構造を保存したいと思います。メモリ内のデータ構造を保存して、後でユニットテストで使用する方法
私の標準的なアプローチは、ブレークポイントをヒットし、デバッガを使用してさまざまな値を見つけ出し、新しいものを作成するか、ユニットテストアセンブリにリソースとしてファイルや何かを埋め込むことです。 時には、これは、自分のコードを新しいものにすることができるようにするために、コンポーネントのやりとりの私自身の抽象化を書くことを伴います。
もっと簡単な方法はありますか?私はこれが新しいものだとは想像できません。あなたが通信するために火の中央ユニットが与えられたとしよう。あなたはユニットテストのために作成したいデータグラムを作るためにそれを使います。また、ファイアセントラルが複合メッセージを構成している、文書化されていない方法でバグが発生した場合は、それらの例を記録して保存したいとします。
理想的には、すべての対話を自分のコードに記録し、さまざまな再生シナリオを選択して選択できるようにしたいと考えています。しかし、メモリ内のさまざまなデータグラムの例をデバッガから取得し、単体テストに戻すだけで大いに役立ちます。
提案がありますか?
+1悪い提案ではありませんが、問題の型がシリアライズ可能であることが必要です –
@マークyは、外部システムとのやり取りのリクエスト/応答のセーブ/ロードについて、私は単純なオブジェクトを考えています。私は同じアプローチで残りのテストに行くことをお勧めしません。 – eglasius
確かに。私は、通信の詳細がサービス層内で明らかになることを許可しません。私は、通信の詳細を扱う特定のビジネスエンティティ(クラスライブラリ)を持っており、これらはテストです。コミュニケーションとビジネスロジックの間には抽象化レイヤーがあります。ありがとうございました。 – Tormod