現在、ユニットテストに全力で取り組むことを妨げている最大の問題の1つは、私が作成するコードの非常に大きな割合が、相互作用する傾向のあるさまざまなソースからのサードパーティのCOMオブジェクトに大きく依存していることです(I ' m必要に応じて、いくつかのヘルパーライブラリを使用してMicrosoft Office用のアドインを作成します)。
私はおそらくモックオブジェクトを使用する必要があることを知っていますが、この場合、どのように正確にそれを実行しますか?既存のオブジェクトへの参照を渡す必要がある場合は比較的簡単ですが、一部のルーチンは外部COMオブジェクト自体をインスタンス化し、場合によっては別のライブラリから他の外部COMオブジェクトに渡すことがあります。
ここでのベストプラクティスのアプローチは何ですか?テストコードがレジストリ内のCOM登録情報を一時的に変更して、テストされたコードが代わりにモックオブジェクトの1つをインスタンス化するようにする必要がありますか?変更されたタイプのライブラリユニットを注入する必要がありますか?他にどのようなアプローチがありますか?
Delphiの例やツールには特に感謝しますが、より一般的なアドバイスやより高レベルの説明にも同様に満足します。
ありがとう、
オリバー