如果我将使用动态模拟并尝试使用未设置的属性,它将简单地返回该属性的 default(null)。
我只需要在部分模拟中对一个属性进行相同的行为。我需要这个属性返回 null。(属性不应该是虚拟的)
例如:
public abstract class SomeClass
{
public XmlDocument SomeProperty
{
get { return _someProperty ?? (_someProperty = SomeMethod()); }
//this getter should return null in my case and doesn't call SomeMethod
}
}
[Test]
public void SomeTest()
{
//Arrange
var obj = MockRepository.GeneratePartialMock<SomeClass>();
//Act
obj.Act(); // this method will use SomeProperty
//Assert
...
}