如何在 c 中设置方法输出参数以返回 mock#

How to setup method out parameter to return mock in c#

提问人:Kirill Topchy 提问时间:1/20/2023 最后编辑:Mike MozhaevKirill Topchy 更新时间:1/20/2023 访问量:265

问:

我有服务模拟,它调用方法,其中一个参数是 out 参数。 如何将模拟对象作为此参数,因为我需要进一步设置此模拟。

var randomObjectMock = new Mock<ISmth>(MockBehavior.Strict);
mock.Setup(x => x.DoSomething(out randomObjectMock);
ISmth randomObject;
var randomObjectMock = new Mock<ISmth>(MockBehavior.Strict);
mock.Setup(x => x.DoSomething(out randomObjectMock);`

初始化 randomObject 不是一个选项。

Mock<ISmth > randomObject;
mock.Setup(x => x.DoSomething(out randomObjectMock.Object);

这也不是一种选择。

C# 起订量

评论

0赞 Batesias 1/20/2023
这回答了你的问题吗?stackoverflow.com/questions/1068095/......

答:

1赞 Mike Mozhaev 1/20/2023 #1

我相信这应该有效:

var randomObjectMock = new Mock<ISmth>(MockBehavior.Strict);
var smth = randomObjectMock.Object;
mock.Setup(x => x.DoSomething(out smth));