JustMock-hero
支持.NET 5,.NET 6预览和.NET核心

Telerik JustMock

最快,最灵活和完整的嘲弄工具
用于制作单元测试。

下载免费试用
信任半径徽章

Telerik获得多个TrustRadius 2021年最佳发展奖

Telerik赢了最佳功能集最佳客户支持。该奖项基于用户审查中提供的定量和定性反馈,以便客户支持,功能集和可用性。

big_wave_dblue_hero.

探索我们一些惊人的功能

ninja-peeking
(测试方法]上市空白应该是mockgenericclass.(){期望值=1;/ /安排//创建“foogeneric ”类的模拟实例。var.喷火=嘲笑创造<FooGeneric<>>();//何时使用任何整数作为参数调用虚拟foo.get()时,它应该返回预期值。嘲笑安排(()=>喷火得到(argIsAny<>()))回报(期望值);/ /行为actualValue=喷火得到(0);/ /维护断言areequal.(期望值,actualValue);}
<测试方法>_上市应该是mockgenericclass.()昏暗的期望值作为整数=1' 安排创建“FooGeneric”类的模拟实例。昏暗的喷火=嘲笑创造(FooGeneric(整数))()'当使用任意整数作为参数调用虚拟foo.Get()时,它应该返回expectedValue。嘲笑安排(功能()喷火(得到](argIsAny(整数)()))回报(期望值)' 行为昏暗的actualValue作为整数=喷火(得到](0)的断言断言areequal.(期望值,actualValue)结束
(测试方法]上市空白ShouldAssertWithCustomSelect(){var.Simperedatainstance.=新的simpledata.();//安排 - 当调用simpledatainstance.products_get时,它应该返回预期的收集。嘲笑安排(()=>Simperedatainstance.产品)ReturnsCollection(returnexpextedcollectionofproducts.());// act  - 为simpleDataMock.Products应用LINQ查询。var.实际的=(pSimperedatainstance.产品在哪里pUniteInstock.==.50.选择pProductId.)SingleOrDefault();/ /维护断言areequal.(2,实际的);}
<测试方法>_上市ShouldAssertWithCustomSelect()昏暗的Simperedatainstance.=新的simpledata.()'安排 - 当SimpleDatainStance.Products_get调用时,它应该返回预期的收集。嘲笑安排(功能()Simperedatainstance.产品)ReturnsCollection(returnexpextedcollectionofproducts.())' Act -应用simpleDataMock.Products的LINQ查询。昏暗的实际的=(从pSimperedatainstance.产品_哪里p.UniteInstock.=50._选择pProductId.)SingleOrDefault()的断言断言areequal.(2,实际的)结束
(测试方法]上市空白DoPublic_OnExecute_ShouldCallDoPrivate(){var.叫做=;喷火喷火=新的喷火();//排列 - 从Foo实例调用非公共方法doprivate()时,//它应该设置为true,而不是执行其原始逻辑。嘲笑nonpublic.安排(喷火,“DoPrivate”)DoInstead(()=>叫做=真的);/ /行为喷火DoPublic();// dopublic()应该呼叫doprivate()。/ /维护断言是真的(叫做);}
<测试方法>上市DoPublic_OnExecute_ShouldCallDoPrivate()昏暗的叫做=昏暗的喷火作为新的喷火()'安排 - 当非公共方法doprivate()从foo实例调用时,'它应该设置iscall为true,而不是执行其原始逻辑。嘲笑nonpublic.安排(喷火,“DoPrivate”)DoInstead(功能()inlineassignhelper.(叫做,真的))'ACT  -  Dopublic()应该叫Doprivate()。喷火DoPublic()的断言断言是真的(叫做)结束
(测试方法]上市空白应该是步骤(){BOOL.叫做=;var.预期的=1;/ /安排//获取静态实例(Foo)准备好忽视构造函数并应用严格的行为。//如果不模拟构造函数,则抛出NotImplementedException。嘲笑setupstatic(类型(喷火),行为严格的,StaticConstructor.嘲笑);//当调用静态(foo.fooprop_get)属性时,//它应该为ISCALLED和返回预期而判断。嘲笑安排(()=>喷火Foprop.)DoInstead(()=>{叫做=真的;})回报(预期的);/ /行为var.实际的=喷火Foprop.;/ /维护断言areequal.(预期的,实际的);断言是真的(叫做);}
<测试方法>上市应该是步骤()昏暗的叫做作为布尔基=昏暗的预期的=1' 安排'让静态实例(Foo)为mock做好准备,忽略构造函数并应用严格的行为。“如果我们没有模拟构造函数,将抛出一个NotimplementedException。嘲笑setupstatic(方法(喷火),行为[严格的],StaticConstructor.嘲笑)“当调用静态(foo.fooprop_get)属性时,'它应该为ISCALLED并返回预期。嘲笑安排(功能()喷火Foprop.)DoInstead(()叫做=真的)回报(预期的)' 行为昏暗的实际的=喷火Foprop.的断言断言areequal.(预期的,实际的)断言是真的(叫做)结束
(测试方法]上市空白ShouldApplyIgnoreInstanceToVirtual(){var.预期的=10.;/ /安排//创建“COMBULUS”类的模型实例。//此模拟也将用作给定类型的假伪,以应用于该类型的未来实例期望。var.结石=嘲笑创造<结石>();//调用conculus.sum()时,它应该返回预期。//同样,这个期望也适用于微积分类的所有新创建的实例//在测试期间。嘲笑安排(()=>结石())忽略iniNstance.()回报(预期的);/ /行为var.ValueFomexistingInstance.=结石();var.valueFromNewInstance=新的结石()();/ /维护断言areequal.(预期的,ValueFomexistingInstance.);//验证已现有实例中的值。断言areequal.(预期的,valueFromNewInstance);//验证新创建的实例中的值。}
<测试方法>上市ShouldApplyIgnoreInstanceToVirtual()昏暗的预期的=10.' 安排创建“Calculus”类的mock实例。'这个mock也将被用作给定类型的假值,以便将未来的实例期望应用到该类型。昏暗的结石=嘲笑创造(结石)()“当调用Calculus.sum()时,它应该返回。“此外,这种期望将适用于整个微积分类的新创建的实例在测试中。嘲笑安排(功能()结石())忽略iniNstance.()回报(预期的)' 行为昏暗的ValueFomexistingInstance.=结石()昏暗的valueFromNewInstance=新的结石()()的断言断言areequal.(预期的,ValueFomexistingInstance.)'从已现有实例中验证值。断言areequal.(预期的,valueFromNewInstance)'从新创建的实例验证值。结束
(测试方法]上市空白应该是AssastCustomValueFordateTimenow.(){var.预期的=新的DateTime(1900,4,12.);//安排 - 在这里,我们安排,当DateTime.now被称为它应该返回预期的日期时间。嘲笑安排(()=>DateTime现在)回报(预期的);/ /行为var.现在=DateTime现在;//断言 - 日期确实是安排的。断言areequal.(预期的一年,现在一年);断言areequal.(预期的,现在);断言areequal.(预期的,现在);}
<测试方法>上市应该是AssastCustomValueFordateTimenow.()昏暗的预期的=新的DateTime(1900,4,12.)'安排 - 我们在这里排列,当DateTime.now被称为它应该返回预期的日期时间。嘲笑安排(功能()DateTime现在)回报(预期的)' 行为昏暗的现在=DateTime现在'断言 - 日期确实是安排的。断言areequal.(预期的一年,现在一年)断言areequal.(预期的,现在)断言areequal.(预期的,现在)结束
(测试方法]上市空白CONTRETURNFAKEDBSET_WHENDBCONTEXTPROPERTYALLED.(){/ /安排NerdDinners德国人=新的NerdDinners();//调用dbset属性nerdddinners.dinners时,它应该返回包含3项的预定义假集合。嘲笑安排(()=>德国人晚餐)ReturnsCollection(FakeDinners());// Act -我们称之为nerddinner。晚餐和search for a dinner with a certain DinnerID.var.恒定=d德国人晚餐在哪里dDinnerID==.1选择d;// assert  - 我们断言Nerddinners.dinners集合将实际返回带3项的集合。断言areequal.(3.,德国人晚餐数数());//我们断言我们的收藏中只有一个项目,其中有类似的人。断言areequal.(1,恒定数数());断言areequal.(1,恒定第一的()DinnerID);}
<测试方法>上市CONTRETURNFAKEDBSET_WHENDBCONTEXTPROPERTYALLED.()' 安排昏暗的德国人作为新的NerdDinners()“当调用DBSET属性Nerdddinners.dinners时,它应该返回包含3项的预定义假集合。嘲笑安排(功能()德国人晚餐)ReturnsCollection(FakeDinners())'行动 - 我们称之为Nerddinners.Dinners并搜索与某一干性的晚餐。昏暗的恒定=从d德国人晚餐在维DinnerID=1D' Assert -我们断言nerd晚餐。晚餐collection will actually return a collection with 3 items.断言areequal.(3.,德国人晚餐数数())“我们断言我们的收藏中只有一个项目,其中有一点等于一个。断言areequal.(1,恒定数数())断言areequal.(1,恒定第一的()DinnerID)结束
coppied!

为什么选择JustMock.

justmock功能的完整列表

在行动中看到它

下载免费试用
Ninja-V1-opt

升级到Telerik Devaft填充

为任何项目和技术做好准备

通过获取1,250多个以上的JavaScript UI组件,可以为建立Web,桌面和移动应用程序提供高达50%的开发时间。

获得最优质的钱

享受单元测试的嘲弄工具以及15个产品用于.NET和JavaScript应用程序开发和嵌入式报告,同时从升级价格中节省高达90%。

我最近放弃了另一个领先的嘲笑工具,转而使用JustMock。我对其他工具的语法从来都不满意,但我在市场上找不到其他工具。我发现JustMock是一种更愉快的体验。”

布拉德伊比

.NET架构师和Reennineed .NET的作者,Reennineed .NET

“在尝试测试遗留代码或数据库时,隔离测试方法时,刚刚开始才能将自己分开。它的功能,如Mscorlib,密封,静态,私有方法和实体框架嘲笑,嘲笑看似不可验证,可测试。“

Bradley Braithwaite.

软件开发人员,内容编码器

“我已经使用了一系列模拟工具,我相信JustMock的API是迄今为止我遇到的最成熟的。我能给框架工具的最高评价是,它的语义足够可读,你在阅读代码时根本不用考虑它们,JustMock就是这样。”

Erik Dietrich.

软件开发人员,DaedTech

什么是新的

执行单元测试时的速度和性能优化 -  Telerik Justmock

执行单元测试时的速度和性能优化

我们使用JustMock分析器优化了单元测试执行的速度和性能。

调试窗口可视化嘲笑对象 -  Telerik Justmock

使用增强型UI / UX进行调试窗口,以获得更好的调试体验

我们正式发布了调试窗口,以便在用JustMock写入单元测试时可视化模型对象以获得更好的调试体验。

支持。净5官方

对。net 5官方的支持

Telerik JustMock船舶支持.NET 5官员。

行业领先的支持

专家及时支持

即使在您的试用期间,也可以直接从构建此UI套件的开发人员获取问题。

联系支持

需要评估的帮助吗?

如果您不是开发人员或没有时间评估我们的产品,请将您的项目需求发送给我们。我们将评估您所需的功能,并让您知道我们的产品如何满足您的需求。

请将您的项目要求发送给我们
Background-NextSteps

下一个步骤

看计划和定价

购买单独的产品或任何捆绑

下载免费试用

有专门的技术支持。