私たちは最初に2000年3月31日に設定したrhinomockのNextInterestDateプロパティを持っています。このプロパティはアクセスされ、この日付は3月の利息計算処理で使用されます。 3月の処理が完了したら、30/04/2000の次の年次の利息日付に更新する必要があります。NMockのReturn.CloneOfに相当するRhinoMocks
ループの次回は、モックでNextInterestDateにアクセスしたときに4月の終了日を返すようにします。要するに、ループの周りに毎回新しい日付が再計算され、モックのプロパティが新しい日付に再割り当てされます。
これは、モックの日付をループの周りで更新する必要があることを意味します。
しかし、私たちが見ているのは、正確に更新されるのではなく、日付が31/03/2000のままであるということです。
私たちはRhinoMockには比較的新しいですが、急速な学習曲線があるように見えますが、私たちはNMockにそれほど好んでいます。
この問題を解決するために、以前の開発者はNMockを使用し、NMockを利用したクローンクラスを使用しました... Return.CloneOFにより、モックがモックを更新して新しい値を供給できるようになりました。
正しい構文/これを実現する方法を理解できないようです。事前に
多くのおかげでよろしくコリンは
しかし、これらの新しい日付が計算されるので、配列から静的なものを取るのではなく、計算アルゴリズムをWhenCalledブロックに入れます(可能であれば、もちろん可能です)。 –
@IvanGerken:日付が確かにアルゴリズムから来たものであれば、アルゴリズムは* stubbed *し、準備された値を与えなければなりません。それ以外の場合は、誰かがアルゴリズムを変更して、無関係なテストの束が突然破損する可能性があります。あなたは単体テストで*非決定主義*を望んでいません。 –