假设一个 IMouvement 对象包含一些子对象,如 ITache、IStockPalette。
public interface IMouvement : IObjectBase<Guid>
{
ITache Tache { get; set; }
IStockPalette StockPalOrigine { get; set; }
}
如何使用 Rhino Mocks 模拟这个?
假设这个测试,这有什么问题?
[TestMethod]
public void Can_Validate_EmplacementTransitoireRule()
{
var mocks = new MockRepository();
var mouvement = mocks.StrictMock<IMouvement>();
var manager = mocks.StrictMock<ValidationManager>();
mouvement.Tache = mocks.StrictMock<ITache>();
mouvement.StockPalOrigine = mocks.StrictMock<IStockPalette>();
mouvement.ID = Guid.NewGuid();
var rule = new EmplacementTransitoireRule(mouvement);
manager.AddRule(rule);
Expect.Call(manager.ValidateAll()).Return(true);
mocks.ReplayAll();
var all = manager.ValidateAll();
mocks.VerifyAll();
Assert.IsTrue(all);
}
这个测试总是失败..