私はArcGISの単体テストを変更しようとしています。私はmocksを使用しています(私はrhinoを使用しています)。
私がテストを書くのを始めたとき、私は多くのオブジェクトを嘲笑し始める必要があることに気付きました。例えば
- 私のコントローラは、最初のRelationshipClass
を取得します(私はIWorkspace
と返さIRelationshipClass
をスタブする必要があります)、その後もIFeature
(スタブ)を取得し、最終的には他のIFeatures
のISet
を返すために、stubRelClass.GetRelatedObjects(stubFeature)
を呼び出します。ユニットテストの臭い
正常に通過するには多くのオブジェクトやメソッドをスタブするのが普通ですか?私はまた 私は本当にコードをステップする必要があるように感じる(ええ - 私は最初にテストを書いておくべきであることを知っている、私はまだこれをしようとしている)、次に何をスタブアウトするかを理解するために、 。
私はまた、複数のインターフェイスを実装するcomクラスを嘲笑することに問題があります。プロダクションコードでは、インターフェイス間でそれらをQIします。実行時に両方のインタフェースを実装するモックを作成するにはどうすればよいですか?
- (この1つの目的は、彼らのためにカバーしますので)それはいくつかのより多くのオブジェクトをあざけるから私を「保存」しますが、私はまだについてのモックする必要があるだろう同じ量のメソッド、そうですか?それとも、私はこれを間違っていますか? –
重要なのは、より多くのオブジェクトを嘲笑することから "あなたを救う"ことではありません。要点は、そこに不足している概念があることをテストで伝えようとしていることです。そのため、それはとても複雑です。 –