Fun*_*ung 9 unit-testing moq mocking
我是嘲笑的新手,我决定使用模拟框架.该起订量家报价
目前,它是唯一一个与所有其他框架中的广义和有点不直观(特别是对于新手)记录/回复方法相对的模拟库.
任何人都可以简单地解释记录/重放方法是什么以及Moq有何不同之处?从决定框架的角度来看,每个人的利弊是什么?
谢谢.
RhinoMocks支持Record/Replay方法.基本思想是您的测试执行分为两个阶段,即记录阶段和重放阶段.更具体一点
var repo = new MockRepository();
var dependency = repo.DynamicMock<IDependency>();
With.Mocks(repo).Expecting(delegate {
Expect.Call(dependency.AMethod(1)).Return(result);
}).Verify(delegate {
var sut = new Sut(wrappee);
sut.DoStuffThatCallsAMethod();
Assert.IsTrue(sut.ResultState);
});
Run Code Online (Sandbox Code Playgroud)
因此,Expecting块是Record阶段,Verify块是Replay阶段.
该代码的Moq变体将是
var dependency = new Mock<IDependency>();
dependency.Expect(dep => dep.AMethod(1)).Returns(result);
var sut = new Sut(wrappee.Object);
sut.DoStuffThatCallsAMethod();
Assert.IsTrue(sut.ResultState);
Run Code Online (Sandbox Code Playgroud)
您可以看到哪个更好阅读.我曾经使用RhinoMocks但是因为我发现Moq我只使用Moq.我发现它可以生成更易读的代码.所以我的建议是去Moq.
| 归档时间: |
|
| 查看次数: |
3749 次 |
| 最近记录: |