動的モックを使用して、設定されていないプロパティを使用しようとすると、このプロパティのデフォルト (null) が返されます。
Partial Mock で同じ動作が必要なのは、1 つのプロパティのみです。このプロパティが 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
...
}