Moq和Rhino.mocks的function是什么?

我无法findMoq和Rhino的特定function对比。 所有的问题都是“你更喜欢哪个,为什么”,或者“这里是你如何在犀牛做一个简单的模拟,以及如何在moq中完成”。

我无法在任何地方find深度比较。 我意识到语法的差异,我不在寻找答案。 我正在寻找能力比较 。 例如:

  • 犀牛有Expect.On()为线程嘲笑。 莫莫可以这样做吗?

  • 怎么样多模拟(一个模拟实现多个接口)。 莫莫可以这样做吗?

  • 我相信Moq现在可以嘲笑受保护的成员。 犀牛可以这样做吗?

编辑 :我最终也在看一些其他的.Net框架。

感谢过去几周的回应。 我最终写了一篇关于我的发现的博客文章,因为我不得不做很多的挖掘工作,好像我不妨总结一下,希望帮助别人。 我张贴的图表组织了我的发现:

替代文字

我在博客文章中提到的一个警告是,该图表对于检查function是非常有用的,但是对于大多数框架来说真正的优势在于它们的独特function。 由于易于使用的API,我最终select了Moq。 此外,所有的信息都会出现错误和变化 – 如果您不同意图表上的内容,请发表评论。

我不是一个专家,但我相信犀牛增加了一些Moq的语法,使学习曲线已经减less到你期望与MoQ。 我与两个testing工作,一些语法几乎相同。 我最初准备和MoQ一起去,因为那样比较容易,但是我的芽给我看了最新的更新,以及它们的相似程度。 只要让你知道。

犀牛有GetArgumentsForCallsMadeOn()哪些IMO使在一些情况下更容易validation参数。

为了完整起见,我会注意到CodePlex上现在有了NMock3。 它可以轻松从NMock2迁移,只需将对NMock2.dll的引用replace为对NMock3.dll的引用即可。 它增加了重构的types安全和支持。

我可能会添加“行为validation”到这些。 这似乎是莫克最大的限制,犀牛(不知道其他人)没有问题。