草庐IT

模拟式

全部标签

c# - 单元测试时 stub 与模拟

这个问题在这里已经有了答案:WhatarethedifferencesbetweenmocksandstubsonRhinoMocks?(5个答案)关闭8年前。我最近对测试非常感兴趣,我现在正努力学习以尽可能最好的方式进行单元测试。我将NUnit与RhinoMocks一起使用。我也在Stackoverflow上阅读了很多内容,但未能找到我的问题的明确答案。我想知道的是,如果我有如下所示的方法,我应该模拟OfficeClass依赖项并测试GetAllOffices还是仅对依赖项使用stub并验证方法GetAllOffices已被调用并且我确实得到了办公室返回我对stub设置的预期?pub

c# - 模拟按钮点击

如何在我的表单(WinForms)中模拟按钮的视觉点击?我不是说:Button_Press(MyButton,newKeyPressEventArgs());我希望用户看到(视觉上)被点击的按钮。我当然不想用SendKeys.Send("{ENTER}")或其他此类功能。 最佳答案 Button1.PerformClick非常简单的一个类轮。给你。 关于c#-模拟按钮点击,我们在StackOverflow上找到一个类似的问题: https://stackove

c# - 模拟索引属性

我正在使用Moq编写单元测试。我创建了一个模拟对象。现在,当我尝试模拟其属性时,出现错误“表达式树可能不包含索引属性”这是我的代码。publicNodeGetNode(IMyInterfaceinterface,stringitemName){returninterface.Items[itemName];}这是单元测试varexpected=newNode();varitemName="TestName";varmock=newMock();mock.Setup(f=>f.Items[itemName]).Returns(expected);vartarget=newMyClass(

HBuilderX运行到手机或模拟器提示没有找到设备

最近在开发APP时使用到真机调试时在HBuildX真机调试中出现了一些问题找不到真机设备,当我点击运行到安卓app基座的时候,提示找不到该设备,我尝试了很多办法都没解决,后来在公司的一位大佬的帮助下解决了。总结了一下发了出来希望能帮助到一些新人小白。首先确保打开手机开发者选项下的USB调试模式那么如何打开开发者选项呢?其实很简单,只需要找到手机系统的版本号,然后连续不停的点击(对,你看到的没错,锻炼你手速的时候到了),直到看到手机上提示你已打开开发者选项为止。然后进入开发者选项开启开发者选项并启动USB调试。其次在你的手机连接电脑后,打开连接方式并选择:媒体设备(MTP),也就是可通过电脑传输

c# - 用最小起订量模拟 MediatR 3

我们最近开始使用MediatR来整理Controller操作,因为我们重构了面向大型客户的门户并将其全部转换为C#。作为其中的一部分,我们也在增加我们的单元测试覆盖率,但我在尝试模拟MediatR本身时遇到了问题。该命令做了很多事情来启动一个过程,其中一部分是发送通知。通知本身由其自己的处理程序处理,因此将接受其自己的单元测试,因此我想模拟MediatR,以便this.mediator.Send(message)调用不会真正执行任何事物。处理程序确实返回一个对象,但我们在此上下文中不关心它,因此出于所有意图和目的,我们将其视为void返回。我只想验证Send作为测试的一部分被调用了一次

c# - 如何在单元测试中模拟抛出异常?

如何模拟在C#单元测试中抛出的异常?我希望能够100%覆盖我的代码,但我无法测试可能出现异常的代码。例如,我无法模拟可能发生的电源故障。例如:publicvoidMyMethod(){try{...}catch(OutOfMemoryExceptione){...}catch(RandomErrorFromDatabaseLayere){...}}我希望能够模拟此方法中应捕获的任何类型的异常。有没有图书馆可以帮助我解决这个问题?编辑1:对完成我对最小起订量的要求有什么帮助吗? 最佳答案 您需要创建一个模拟对象来代替可以抛出这些异常的

c# - 如何使用 MSTest 模拟对象?

我是MSTest(VisualStudio2010)的新手。有没有VS2010自带的集成mocking框架?或者是否有任何其他我可以使用的易于上手的好模拟框架? 最佳答案 VS2010没有附带模拟框架。但是您可以使用RhinoMocks(支持.NET2.0和3.5),或Moq(支持.NET3.5和.NET4)。两个框架都不错,但我更喜欢Moq,因为我觉得它更自然。它使用流畅的lambda语法,一旦你习惯了它,我就会觉得它非常干净。这两个框架都是开源的。如果您想要商业版,请选择Typemockisolator.这个框架几乎可以模拟任何

c# - 模拟异步任务

我在使用MicrosoftBCL的.NET4.0上使用Moq进行单元测试时遇到以下情况TaskmockTask=newTask(()=>newMyClass());uploadHelper.Setup().Returns(mockTask);Task.WaitAll(mockTask);我面临的问题是Task.WaitAll(mockTask)只是阻塞并且永远不会返回。我在这里做错了什么?编辑请注意,mockTask在我的上下文中是异步的。 最佳答案 您的任务尚未开始!只需使用:TaskmockTask=Task.FromResul

C# - 单元测试,模拟?

应该使用目标类的内置单元测试生成器(VS)还是我应该自己学习如何编写单元测试?这个“模拟”是什么东西?我一遍又一遍地听到它,但没有人关心给出一个好的解释。提前致谢。 最佳答案 您需要学习自己编写单元测试。从正确理解许多人在以下方面犯错误的术语开始,从右脚开始:单元测试:测试单个代码单元,非常小的原子测试。集成测试:测试集成在一起的多个代码单元,通过不同的层并确保它们正确使用彼此。这些应该在单元测试验证了各个单元独立工作之后完成。许多人错误地将这些称为单元测试。内置验证测试:通过部署和运行将以用户方式与其交互的测试来测试内置产品。也经

c# - 模拟 ASP.NET 身份验证 cookie

我维护一个使用ASP.NETMVC的网站FormsAuthentication.SetAuthCookie(userName,createPersistentCookie);让用户登录(他们最终得到一个名为.ASPXAUTH的cookie)。客户希望我添加一个HTML到PDF的功能,所以我包装了wkhtmltopdf库并调用它。这最终是一个看起来像这样的命令:wkhtmltopdfhttp://example.com/Foo/Edit/42Foo.pdf但是,这会导致生成登录屏幕的PDF,因为wkhtmltopdf用户代理被重定向,因为它没有正确的cookie。这很好,因为根据wkht