我正在使用模拟测试。我想简单地问一下mock.record()和mock.playback()是做什么的。 如果提供任何简单的示例,我们将非常感谢......
答案 0 :(得分:0)
在“记录”中,您可以记录一个动作,例如执行存储过程或从数据库中检索记录并将它们放入数据表中。在“回放”中,当回放该记录时,回放的动作将被回放。代码被击中。
Rhinomocks示例
[Test]
public void GetHtmlTest()
{
var mocks = new MockRepository();
var dal = mocks.StrictMock<DataAccess>();
var mockdatatable = new DataTable();
using (mocks.Record())
{
Expect.Call(dal.GetDataTableFromDatabase("", null)).Return(mockdatatable ).IgnoreArguments().Repeat.Any();
Expect.Call(dal.ExecuteUsingStoredProcedure("", null)).Return(true).IgnoreArguments().Repeat.Any();
}
using (mocks.Playback())
{
new SomeText(dal);
var result = SomeText.GetHtml("test","","");
Assert.AreEqual(result, string.Empty);
}
}
而不是在SomeText.GetHtml中进行真正的数据库调用。 mockdatatable由方法返回。