求助,有人能解释一下Rhino Mocks的“Record”作用域的目的吗?
我原以为作用域内设置的预期只会被验证,但似乎一旦创建了模拟对象,Rhino Mocks就处于“记录模式”,所以我现在不确定Record作用域的目的。
这里有一个例子:
private static void SomeTest()
{
MockRepository mockRepository = new MockRepository();
ISomeInterface test = mockRepository.StrictMock<ISomeInterface>();
test.Bar();
using (mockRepository.Record())
{
Expect.Call<string>(test.GetFoo()).Return("Hello");
}
using (mockRepository.Playback())
{
test.GetFoo();
}
}
public interface ISomeInterface
{
string GetFoo();
void Bar();
}
这个测试会失败,因为期望调用Bar方法。这是因为我创建了一个StrictMock而不是DynamicMock吗?