Closed. This question does not meet Stack Overflow guidelines 。它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic

1年前关闭。



Improve this question




我正在寻找一个可以用于测试使用动态对象的 C# 代码的框架。我希望能够指定方法 stub 并设置模拟期望,就像在接口(interface)上使用 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);

附言请原谅任何 Rhino Mocks 语法问题,我之前使用 MOQ 完成了此操作,并且我刚刚使用 Rhino Mocks 快速引用指南写出了相同的概念。

关于c#-4.0 - C# 动态对象的模拟/ stub 框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7445794/

10-09 19:24