這很難解釋我在尋找什麼,但我的示例應該澄清它。在Expect.Call中設置對象的屬性
我有下面的代碼:
var schedule = ScheduleUtil.CreateScheduleDto(user, user);
Expect.Call(() => _scheduleRepository.Save(schedule));
現在,我想做的是當這個保存調用時,該schedule.id屬性應設置爲另一個值(1例)。
我不想模擬時間表。這可以做到嗎? Save方法不返回值,所以這不是一種可能性,但我確實希望修改對象計劃。
更新:也許一個小例子將闡明我確切想要什麼。
說有一個方法保存類:
公共無效創建(實體實體) {// 實體保存到數據庫 //entity.id與創建ID在數據庫中更新 }
因此,在創建之前,entity.id是-1,後創建> 0
現在,有一個使用此創建服務。這個服務方法上的代碼契約表明,在它被調用之前,實體必須有一個等於-1的id,它在被調用後必須有一個id> 0(前置條件和後置條件)。
所以,我需要的是這樣的: var entity = new Entity(); // id == -1 Expect.Call(()=> _instance.Create(entity);
//現在entity.id應該是一個大於0的隨機數。這就是我需要的,讓Rhino Mocks更新實體的ID給定的整數。這可能嗎?
我在嘲笑_scheduleRepository。但是當我打電話給Save(時間表)時,我也希望Rhino Mocks改變時間表的ID。 – 2010-12-10 14:58:07