У меня есть пользовательский элемент управления, который выполняет некоторую проверку в методе ValidateChildren, который я хотел бы проверить. Я создал частичный макет пользовательского элемента управления, но хотя я не устанавливаю никаких ожиданий для метода ValidateChildren, я просто вызываю его, он просто пропускается, и код внутри метода никогда не выполняется. Чтобы попытаться понять, что происходит, я создал простой тест, например:
public class Foo
{
public virtual bool Method1()
{
throw new NotImplementedException();
}
public virtual bool Method2()
{
return Method1();
}
}
и используйте это для проверки:
[Test]
public void TestFooMethods ()
{
MockRepository m = new MockRepository();
Foo foo = m.PartialMock<Foo>();
RhinoMocksExtensions.Expect<Foo,bool>(
foo,
delegate (Foo obj)
{
return obj.Method1();
}
).Return(true);
Assert.IsTrue (foo.Method2());
}
теперь я ожидаю, что foo.Method1 будет издеваться, а foo.Method2 - нет. Но это всегда возвращает false, и если я попытаюсь пройти через отладчик, foo.Method2 () перешагнет, и я не смогу зайти к нему.
Есть идеи, почему?