Не отвечая непосредственно на ваш вопрос о том, как это сделать с помощью Rhino (кажется, что Джон уже проделал приличную работу в этом направлении), для потомства я покажу, как я бы проверил это, используя ручную насмешку.(потерпите меня, я давно не делал C #, так что извините за синтаксические ошибки)
[Test]
public void initializeRegistersViewDataWithGivenName()
{
ShuntedYourClass yourClass = new ShuntedYourClass();
yourClass.initialize( /* arg list */ );
// Verify 'Notify' was called
Assert.NotNull(yourClass.registeredViewData);
// Verify 'GetName' private method was invoked and
// 'Name' was properly populated
Assert.AreEqual("expected name", yourClass.registeredViewData.Name);
}
// Nested class for testing purposes only.
class ShuntedYourClass : public YourClass
{
public ViewData registeredViewData;
public override void Notify(ViewData vd)
{
this.registeredViewData = vd;
}
}
Этот код теперь проверяет, что метод Initialize
действительно работает правильно и выполняет Notify
с правильными параметрами.
Надеюсь, это поможет!
Брэндон