0

I have service mock, which calls method, where one of parameters is out parameter. How is it possible to out mocked object as this parameter, because I need to set up this mock further.

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);`

Initialization randomObject is not an option.

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

This also not an option.

Mike Mozhaev
  • 2,367
  • 14
  • 13
  • Does this answer your question? https://stackoverflow.com/questions/1068095/assigning-out-ref-parameters-in-moq – Batesias Jan 20 '23 at 14:31

1 Answers1

1

I believe this should work:

var randomObjectMock = new Mock<ISmth>(MockBehavior.Strict);
var smth = randomObjectMock.Object;
mock.Setup(x => x.DoSomething(out smth));
Mike Mozhaev
  • 2,367
  • 14
  • 13