テストしたい 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()がステップオーバーされ、ステップインできません。
理由はありますか?