草庐IT

pytest-mock

全部标签

c# - 使用 Mocks 验证依赖调用时的 TDD Arrange Act Assert 模式

我正在使用Moq来测试一些void方法的行为。使用MockBehaviour.Strict必须在Arrange步骤期间指定对模拟的每次调用。这导致许多测试没有任何Assert(或Verify)步骤。通过条件只是测试运行没有抛出异常。我错过了什么吗?Arrange,Act,Assert模式在使用严格模拟时是否不合适?是否有更语义化的方式来安排这些测试?一个简单的虚构例子......[TestClass]publicvoidDeleteUser_ShouldCallDeleteOnRepository(){//ArrangevaruserRepository=newMock(MockBeh

c# - 我可以在 Rhino-Mocks 3.6 中使用 AAA 语法测试方法调用顺序吗?

是否可以在Rhino-mocks3.6中使用AAA语法测试以下示例,如果方法1调用1st,然后调用方法2,然后调用方法3,在Rhino-mocks3.6中?//Assertvarmock=MockRepository.GenerateMock();//ActmyObject.Service=mock;//HowshouldIchangethisparttoensurethatRhinoMockscheckthecallorderaswell?mock.AssertWasCalled(m=>m.Method1());mock.AssertWasCalled(m=>m.Method2())

c# - 模拟 DataReader 并获取 Rhino.Mocks.Exceptions.ExpectationViolationException : IDisposable. Dispose();预期#0,实际#1

我正在尝试模拟一个SqlDataReaderSqlDataReaderreader=mocks.CreateMock();Expect.Call(reader.Read()).Return(true).Repeat.Times(1);Expect.Call(reader.Read()).Return(false);Expect.Call(reader.HasRows).Return(true);Expect.Call(reader.Dispose);Expect.Call(reader["City"]).Return("Boise");Expect.Call(reader["State

c# - 在不使用魔术字符串的情况下将参数传递给 FakeItEasy-mock?

我一直在使用Moq因为我过去几年的mock需要,但在看了FakeItEasy之后我想试一试。我经常想测试是否使用正确的参数调用了一个方法,但我发现使用FakeItEasy没有令人满意的方法。我有以下代码要测试:publicclassWizardStateEngine:IWizardStateEngine{privatereadonlyIWorkflowInvoker_workflowInvoker;privateList_history;publicWizardStateEngine(IWorkflowInvokerworkflowInvoker){_workflowInvoker=w

c# - 使用 rhino mocks 为每次调用返回不同的实例

我有这个代码:Expect.Call(factory.CreateOrder()).Return(newOrder()).Repeat.Times(4);当它被调用四次时,每次都返回相同的实例。我想要返回不同的实例。我希望能够做类似的事情:Expect.Call(factory.CreateOrder()).Return(()=>newOrder()).Repeat.Times(4);这可以通过某种方式完成吗? 最佳答案 而不是使用.Return(newOrder());尝试使用.Do((Func)delegate(){return

Pytest 的高级用法之 插件开发

前言用过pytest的小伙伴应该都知道,pytest之所以功能强大,是因为pytest的插件非常的多。这是插件大多是pytest的使用者所开发的,今天咱们专门来聊聊如何去自己开发Pytest的插件。一pytest插件的介绍pytest框架采用的是插件系统的模式来设计的,pytest运行的所有流程都是基于插件实现的钩子来实现的。一个插件包含一个或多个钩子函数。编写钩子解释了如何自己编写钩子函数的基础知识和细节。pytest通过调用插件的指定钩子来实现配置、收集、运行和报告的各个方面:内置插件:从pytest的内部_pytest目录加载。外部插件:通过setuptools入口点发现的模块conft

c# - 如何设置 IConfigurationRoot 的 Mock 以返回值

这个问题在这里已经有了答案:Expressionreferencesamethodthatdoesnotbelongtothemockedobject(4个答案)关闭5年前。我已经使用IConfigurationRoute来访问这样的目录。if(type=="error")directory=_config.GetValue("Directories:SomeDirectory");_config是在构造函数中注入(inject)的IConfigurationRoot。我尝试了下面的方法来模拟它。varmockConfigurationRoot=newMock();mockConfig

c# - Rhino Mocks 的 "requires a return value or an exception to throw"是什么意思?

模拟对WCF服务的调用时,出现以下错误:Method'ICustomerEntities.GetCustomerFromPhoneNumber("01234123123");'requiresareturnvalueoranexceptiontothrow.我用谷歌搜索并在这里搜索-我能找到的只是我需要重新订购各种电话等,但在我的情况下这似乎没有意义?也许有人可以向我指出它实际上确实?我的测试设置是这样的_entities=MockRepository.GenerateStrictMock();并且第三行测试方法失败,设置result2_entities.Expect(ip=>ip.G

c# - 每次使用 Moq 调用方法时,如何使 Mock 返回一个新列表

我正在使用MOQ模拟具有预期返回列表的方法调用。我的方法返回一个列表,但我希望模拟在每次调用该方法时创建一个新列表。到目前为止我做了什么:Listexpected=newList{newCorrelation(){Code="SelfError1"},newCorrelation(){Code="SelfError2"}};MockselfMock=newMock();selfMock.Setup(f=>f.Validate()).Returns(expected);我想要实现的是让模拟在每次调用方法get时返回一个新列表。我试过这个但没用:selfMock.Setup(f=>f.Va

c# - 如何使用 Rhino Mocks 模拟索引属性?

如何使用RhinoMocks模拟索引属性? 最佳答案 我假设您指的是使用this[]的属性varmockClass=MockRepository.GenerateMock();mockClass.Expect(m=>m["key"]).Return("value");//returnavaluemockClass.Expect(m=>m["key2"]="value2");//setavalue...sometestinhereusingsomethingthatdependsonmockClass...mockClass.Veri