首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优秀的免费单元测试替代Telerik的JustMock

优秀的免费单元测试替代Telerik的JustMock
EN

Software Recommendation用户
提问于 2014-08-11 15:08:09
回答 3查看 2.8K关注 0票数 4

什么是好的和免费的单元测试替代Telerik JustMock库/工具在C#中的单元测试。

在这里,我想知道不仅仅是对于JustMock lite,而且对于提供高级模拟功能的付费JustMock版本(比如模拟静态的、最终的、密封的、扩展的方法)等等。

EN

回答 3

Software Recommendation用户

回答已采纳

发布于 2014-08-11 18:27:46

不是理想的,也不是完全免费的,但是如果您有或终极版,它中包含了微软仿冒,这是另一个基于分析器的模拟框架,提供了这样的功能。它不能安装在VS的较低版本,但它是免费的上层版本。不知道这对你来说是否“足够免费”。看一看关于它的那些问题和文章:

https://stackoverflow.com/questions/21847835/how-do-install-microsoft-fakes-unit-test-isolation-on-vs-2013-professional-edi

http://www.dotnetcurry.com/showarticle.aspx?ID=963

然而,在我看来,这种“提升”特性的需求显示出测试代码中存在缺陷的设计,从而排除了隔离的单元测试。直接调用静态方法的代码总是会出现这样的问题,而典型的解决方案是使用依赖注入,将静态调用分离到接口后面,然后注入和模拟接口(但是讨论这一点与这个站点无关,StackOverflow更适合它)。对于这些情况,我同时使用莫克NSubstitute,它们都是简单得多的基于代理的模拟框架。

票数 1
EN

Software Recommendation用户

发布于 2014-11-04 08:40:53

您可以使用常见的模拟框架(如FakeItEasy莫克 ),并使用Ionad.FodyEnableFaking.Fody等工具解决一些“高级”场景。它们修改编译后的IL代码(织入),以便您可以模拟它。但是,也有局限性,而且您很可能无法满足所有的高级需求。

票数 4
EN

Software Recommendation用户

发布于 2016-12-07 14:11:37

一个完全免费的可能性是普利格,它甚至是开源的。它可能不像商业选择那样对用户友好,但似乎运行得相当好。注意,如果方法的签名不匹配预定义的委托之一,则它将无声地无法生成模拟它的方法--您必须按照描述的这里手动定义缺少的委托类型。

票数 3
EN
页面原文内容由Software Recommendation提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwarerecs.stackexchange.com/questions/10608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档