作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
[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()
的作用是什么?
最佳答案
代码片段演示了 Rhino.Mocks 的Record/Replay/Verify 语法。您首先记录模拟的期望(使用 Expect.Call()
,然后您调用 ReplayAll()
来运行模拟模拟。然后,您调用 VerifyAll ()
来验证是否满足了所有的期望。
顺便说一下,这是一个过时的语法。新语法称为 AAA Syntax - Arrange, Act, Assert并且通常比旧的 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();
}
关于c# - RhinoMocks 中的 ReplayAll() 和 VerifyAll() 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6078061/
[Test] public void MockAGenericInterface() { MockRepository mocks = new MockRepository(); IL
使用 Closure 的 Mocks 阅读代码并且对语法感到很困惑。许多看起来像这样: mockChart(); // Test this.mockControl.$replayAll()
我是一名优秀的程序员,十分优秀!