c#-4.0 – C#动态对象的模拟存根框架

c#-4.0 – C#动态对象的模拟存根框架,第1张

概述我正在寻找一个框架,我可以用它来测试使用动态对象的C#代码.我希望能够指定方法存根并设置模拟期望,就像在接口上使用Rhino Mocks之类的东西一样 例如类似于以下使用Rhino Mocks风格的东西 var fakeService = MockRepository.GenerateStub<dynamic>();fakeService.Stub(s => s.SomeMethod(Arg.I 我正在寻找一个框架,我可以用它来测试使用动态对象的C#代码.我希望能够指定方法存根并设置模拟期望,就像在接口上使用Rhino Mocks之类的东西一样

例如类似于以下使用Rhino Mocks风格的东西

var fakeService = MockRepository.GenerateStub<dynamic>();fakeService.Stub(s => s.someMethod(Arg.Is(someValue))).Returns(someResult);sut.MethodUnderTest(fakeService);

要么

var fakeService = MockRepository.GenerateMock<dynamic>();fakeService.Expect(s => s.DoSomething(Arg.Is(someValue)));sut.MethodUnderTest(fakeService);fakeService.VerifyAllExpectations();

其中被测方法将参数声明为动态对象.

有什么建议?

解决方法 那么你总是可以尝试模拟DynamicObject.它看起来会有所不同,但它可以随心所欲地模拟动态对象.

var fakeService = MockRepository.GenerateStub<DynamicObject>();object outResult;fakeService.Stub(s => s.TryInvokeMember(               Property.Value("name","SomeMethod"),List.Equal(new{someValue}),out outResult))           .OutRef(someResult)           .Returns(true);sut.MethodUnderTest(fakeService);

附:请删除任何犀牛模拟语法问题,我之前使用MOQ完成了这个,我刚刚用Rhino Mocks快速参考指南写出了相同的概念.

总结

以上是内存溢出为你收集整理的c#-4.0 – C#动态对象的模拟/存根框架全部内容,希望文章能够帮你解决c#-4.0 – C#动态对象的模拟/存根框架所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1228357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存