ArcGISの単体テストを変更して、モックを使い始めようとしています(rhinoを使用しています)。
テストを書き始めたとき、多くのオブジェクトをモックし始め、1つのテストでも合格するために多くのメソッドをスタブ化する必要があることに気付きました。
たとえば、私のコントローラーは最初にRelationshipClass
(をスタブしIWorkspace
、返されたIRelationshipClass
)を取得し、次にIFeature
(Aスタブ)を取得し、最後にを呼び出して、他ののstubRelClass.GetRelatedObjects(stubFeature)
を返します。 ISet
IFeatures
通過させるためだけに非常に多くのオブジェクトとメソッドをスタブ化する必要があるのは正常ですか?また、次に何をスタブし、何を返すかを理解するために、コードをステップオーバーする必要があるように感じます(ええ、最初にテストを作成する必要がありましたが、まだこれを試しています)。
また、複数のインターフェイスを実装するcomクラスのモックにも問題があります。プロダクションコードでは、インターフェイス間でQIを実行します。実行時に両方のインターフェースを実装するモックを作成するにはどうすればよいですか?