Adi*_*iel 26 rhino-mocks moq typemock justmock
我需要为新项目选择模拟框架.
这些框架的优缺点是什么?任何比较表?
我知道JustMock是我的beta阶段,但它现在看起来非常好(非常类似于TypeMock)
编辑:我怎么样MS鼹鼠?
Dro*_*per 21
在有JustMock之前,问了这个问题,可以在这里找到答案.有一个非常好的Mocking框架比较 - 它还没有JustMock,但你可以看到每个.NET模拟框架的语法和功能.
RhinoMocks(和Moq)都是免费开源的项目,可以通过继承类型来创建虚假对象 - 这意味着它们不能伪造静态方法,结构和密封类.
Typemock Isolator使用CLR分析器拦截.NET调用并在运行时更改它们,并且几乎可以伪造任何东西.Typemock还可以伪造您无法从测试中"到达"的对象,因为它们是在生产代码中实例化的.有人称之为"黑魔法",但其他人则认为能够伪造几乎任何东西 - 包括第三方库和遗留代码 - 是必须的.
JustMock是一个新玩家,现在只在Beta中 - 它有一些Typemock Isolator并且可以在没有探查器API的情况下运行 - 在这种模式下它就像RhinoMocks.尚未发现它确实具有多少Typemock Isolator功能.现在它似乎是朝着正确方向迈出的良好开端,但它仍然有一段距离才能成为一个有效的选择.
小智 11
[免责声明 - 我在Telerik工作]
关于JustMock的几点.它的API与Moq的API更相似,而不是RhinoMocks,所以如果你熟悉Moq,你应该不会有学习JustMock的问题.我们在JustMock中试图做得更好的是在模拟顺序调用时有一个更好的故事.另外,正如有人已经提到的,JustMock可以使用相同的Moq类语法来模拟静态类和方法/属性,密封类,非虚方法和属性等.也要感谢JustMock中的这个,可以做部分嘲笑.
顺便说一下,如果你直接引用Telerik.CodeWeaver.Hook程序集,那么当使用JustMock时,Dror提到的"黑魔法"也是可能的,但不幸的是,目前还没有记录.如果有人想这样做,他可以打开支持票,我们很乐意提供帮助.
希望这可以帮助.