草庐IT

mock模拟

全部标签

c# - XNA 模拟游戏对象或解耦你的游戏

我在想是否可以模拟一个Game对象来测试我的DrawableGameComponent组件?我知道模拟框架需要一个接口(interface)才能运行,但我需要模拟实际的Game对象。编辑:这是一个link在XNA社区论坛上进行相应的讨论。有帮助吗? 最佳答案 该论坛中有一些关于单元测试主题的好帖子。这是我在XNA中进行单元测试的个人方法:忽略Draw()方法在您自己的类方法中隔离复杂的行为测试棘手的东西,不要担心剩下的这是一个测试示例,用于确认我的Update方法将实体移动到Update()调用之间的正确距离。(我正在使用NUnit

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

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

c# - .NET Core 中 HttpListener 的模拟是什么

我正在将应用程序从.NET4移植到.NETCore,但找不到HttpListener类的模拟ErrorCS0246Thetypeornamespacename'HttpListener'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?)更新1privatereadonlyHttpListener_httpListener;if(!HttpListener.IsSupported){thrownewNotSupportedException("TheHttpServercannotrunonthisope

c# - 用用户名和密码模拟?

WindowsIdentityidentity=newWindowsIdentity(accessToken);WindowsImpersonationContextcontext=identity.Impersonate();...context.Undo();我在哪里声明管理员用户名和密码?accessToken参数对我帮助不大...我必须为它导入DLL吗? 最佳答案 您需要获取用户的token。使用p/invokeLogonUser来自advapi32.dll:[DllImport("advapi32.dll",SetLast

c# - 如何模拟采用动态对象的方法调用

假设我有以下内容:publicinterfaceISession{TGet(dynamicfilter);}}我有以下要测试的代码:varuser1=session.Get(new{Name="test1"});varuser2=session.Get(new{Name="test2"});我将如何模拟这个调用?使用最小起订量,我厌倦了这样做:varsessionMock=newMock();sessionMock.Setup(x=>x.Get(new{Name="test1")).Returns(newUser{Id=1});sessionMock.Setup(x=>x.Get(ne

c# - 如何将非托管应用程序窗口置于最前面,并使其成为(模拟)用户输入的事件窗口

我假设我需要使用pinvoke,但我不确定需要调用哪些函数。场景:遗留应用程序将运行,我将拥有该应用程序的句柄。我需要:将该应用程序置于顶部(在所有其他窗口之前)使其成为事件窗口需要调用哪些Windows函数? 最佳答案 如果您没有窗口句柄,请在之前使用它:[DllImport("user32.dll",SetLastError=true)]staticexternIntPtrFindWindow(stringlpClassName,stringlpWindowName);现在假设您有应用程序窗口的句柄:[DllImport("us

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# - 如何在 FakeItEasy 中模拟 protected 虚拟成员?

Moq允许模拟protected虚拟成员(seehere)。是否可以在FakeItEasy中做同样的事情? 最佳答案 可以做到,但不能开箱即用。诀窍是实现IFakeObjectCallRule并通过Fake.GetFakeManager(foo).AddRule(myRule)将其添加到您的假货中。不过我正在考虑实现这个功能,它会是这样的:A.CallTo(foo).WhereMethod(x=>x.Name=="MyProtectedMethod").Returns("whatever");虽然语法还不是很完善。编辑上述功能现已实

c# - 我如何使用最小起订量模拟一个集合

我是单元测试和模拟的新手,而且耳后仍然湿漉漉的。我正在使用Moq框架,我需要模拟一个集合,以便它生成一个具有我提供的值的成员。有问题的集合类是System.Configuration.SettingsPropertyCollection,其中包含SettingsProperty对象。反过来,SettingsProperty有一个Attributes返回SettingsAttributeDictionary的属性.我需要我的收藏才能产生一个SettingsProperty,在其System.Attribute中有一个自定义属性(源自Attributes.SettingsAttribute

c# - 犀牛模拟 : How to stub a generic method to catch an anonymous type?

我们需要stub一个通用方法,该方法将使用匿名类型作为类型参数来调用。考虑:interfaceIProgressReporter{TReport(TprogressUpdater);}//Unittestarrange:FuncreturnArg=(x=>x);//wewishtoreturntheargument_reporter.Stub(x=>x.Report(null).IgnoreArguments().Do(returnArg);如果在被测方法中对.Report()的实际调用是使用对象作为类型参数完成的,那么这将起作用,但实际上,调用该方法时使用的T是匿名类型。此类型在被测