微软假框架提供的任何替代垫片功能?

时间:2013-09-26 15:10:23

标签: microsoft-fakes

我想知道微软假框架提供的垫片功能是否有替代lib,因为它只支持最终版本?

4 个答案:

答案 0 :(得分:6)

据我所知,有三个框架允许您模拟非虚拟方法和密封类,如Fakes'Shims。有

它们都是商业性的,因为它们使用的是Profiling API,它非常多毛且文档记录很差,所以对它们进行编码真是太痛苦了。

记录中我都是假货。人们正在处理的大多数代码都是遗留代码。实用程序员的重构规则之一是确保在任何重构之前都有单元测试覆盖以避免回归。这使得Fakes和类似的框架非常有用,特别是当遗留代码不是为测试能力编写时。

答案 1 :(得分:2)

Prig还没有更新与VS 2017一起工作,但是Pose确实如此,并且非常适合我需要它(基本填充Environment.UserName和{{1}和类似的),并有一个非常好的界面:

DateTime.Now

修改

我应该注意到,在进行相当基本的测试时我会遇到很多错误 - 真正可怕的错误,例如"公共语言运行时检测到无效程序。"和" JIT编译器遇到内部限制"如此警告。

答案 2 :(得分:0)

开源替代方案是Prig。麻省理工学院获得许可且仍处于活跃状态 - 但与VS IDE略有落后

答案 3 :(得分:-1)

是的,详细比较一下:

Mock framework vs MS Fakes frameworks

正如您将从Jim Cooper的回答中了解到的那样,假装配实际上是一件坏事,并且有更好的选择,例如它支持重构并且需要更少的代码(使用泛型)。