【发布时间】:2011-12-22 21:13:13
【问题描述】:
据我所知,Stub 只是依赖项的替代品。存根不用于验证,它不会通过测试 - 来自《单元测试的艺术》一书。
但似乎从 Rhino Mocks 3.5 开始我可以做到这一点:
var service = MockRepository.GenerateStub<ILuckyService>();
service.AssertWasCalled(s=>s.GetLuckyNumberOfTheDay());
如果可以验证是否在 stub 上调用了方法,那么如果我需要使用 stub 或 mock,为什么还要麻烦自己呢?
【问题讨论】:
-
因为代码干净的原因?
-
可能它们是相同的:请参阅此问题:stackoverflow.com/questions/477924/… 以及此 Ayende 的帖子:ayende.com/blog/3384/…
-
FakeItEasy 和 NSubstitute 等其他 mocking 框架仅使用单术语 mock/fake/stub。毕竟通常你只是想在你的单元测试中伪造一些东西,你并不关心术语上的差异。
标签: c# .net unit-testing tdd rhino-mocks