私が探しているものを説明するのは難しいですが、私の例では明確にする必要があります。私は次のコードを持っているExpect.Callでオブジェクトのプロパティを設定する
:今
var schedule = ScheduleUtil.CreateScheduleDto(user, user);
Expect.Call(() => _scheduleRepository.Save(schedule));
をこの保存呼び出しが行われたとき、私は何をしたい、schedule.idプロパティが別の値(例えば1)に設定する必要があります。
私はスケジュールを模擬したくありません。これはできますか? Saveメソッドは値を返さないため、可能性はありませんが、オブジェクトスケジュールを変更する必要があります。
更新:ほんの少しの例が、私が正確に望むものを明確にするでしょう。
は、メソッドの保存とクラスがあります言ってやるがいい。
ます。public void作成します(エンティティのエンティティ) {// エンティティは //entity.idがデータベースに作成したIDで更新されたデータベースに保存され }
ので、作成する前に、それを作成するには今> 0
された後entity.idは、-1で、これは作成し使用するサービスがあります。このサービスメソッドのコード規約では、呼び出される前に、id> 0(前提条件と事後条件)を持っていなければなりません。
私が必要とするのは、次のようなものです。 var entity = new Entity(); // id == -1 Expect.Call(>)_instance.Create(entity);
//ここでentity.idは0より大きい乱数でなければなりません。これは私がRhino Mock指定された整数にエンティティのIDを更新します。このことは可能ですか?
私は_scheduleRepositoryを嘲笑しています。しかし、Save(スケジュール)を呼び出すと、Rhino MocksはスケジュールのIDを変更したいと思っています。 –
私は必要なものを明確にするために小さな例を追加しました。 –
@Lieven "_instance"変数と "Create"メソッドを疑似できるのであれば、上記の期待値を使ってエンティティのIDを任意の値に設定することができます。なぜこれがうまくいかないのかはわかりません。 – PatrickSteele