RhinoMocks使用属性的默认实现

时间:2010-12-20 19:45:50

标签: c# unit-testing rhino-mocks

我有一些与Entity Framework一起使用的代码,如

class Person{
  pubic Person() {
     Address = new Address();
  }
  public virtual Address Address { get; set; }
}

我将Address标记为virtual的原因是延迟加载。

现在要测试一下,我正在查看Person。但由于它是存根的,Address getter只返回null(即使它在构造函数中设置)。如果我将Address属性(person.Stub(x => x.Address).Return(new Address());)存根,那么一切正常。但我真的不想要把财产剔除!有没有办法告诉RhinoMocks不要覆盖这个getter,即使它是虚拟的?

1 个答案:

答案 0 :(得分:4)

当然,但你必须使用部分模拟:

var person = MockRepository.GeneratePartialMock<Person>();