什么是 ReplayAll() 和 VerifyAll() in RhinoMocks.

本文关键字:in RhinoMocks VerifyAll 什么 ReplayAll | 更新日期: 2023-09-27 17:57:02

[Test]
public void MockAGenericInterface()
{
    MockRepository mocks = new MockRepository();
    IList<int> list = mocks.Create Mock<IList<int>>();
    Assert.IsNotNull(list);
    Expect.Call(list.Count).Return(5);
    mocks.ReplayAll();
    Assert.AreEqual(5, list.Count); 
    mocks.VerifyAll();
}

此代码中ReplayAll()VerifyAll()的目的是什么?

什么是 ReplayAll() 和 VerifyAll() in RhinoMocks.

代码片段演示了 Rhino.Mocks 的记录/重放/验证语法。您首先记录对模拟的期望(使用 Expect.Call() ,然后调用 ReplayAll() 来运行模拟模拟。然后,调用VerifyAll()以验证是否已满足所有期望。

顺便说一下,这是一种过时的语法。新语法称为AAA语法 - 安排,行动,断言,通常比旧的R/R/V语法更容易使用。您截取的代码转换为 AAA:

  [Test]
  public void MockAGenericInterface()
  {
    IList<int> list = MockRepository.GenerateMock<IList<int>>();
    Assert.IsNotNull(list);
    list.Expect (x => x.Count).Return(5);
    Assert.AreEqual(5, list.Count); 
    list.VerifyAllExpectations();
  }