Во-первых, вы должны правильно настроить ожидание. Я думаю, что вы на самом деле хотите настроить макет так, чтобы он принимал любой экземпляр MyClass
:
moq.Setup(x=>x.Save(It.IsAny<MyClass>()));
Затем вы настраиваете обратный вызов следующим образом:
moq.Setup(x=>x.Save(It.IsAny<MyClass>()))
.Callback((myClassParam) => my = myClassParam);
Объединение всего этого позволит вам создать макет, который принимает MyClass
и сохраняет экземпляр MyClass
в my
переменную:
[TestMethod]
public void Test() {
var moq = new Mock<IMyRespository>();
MyClass my = null;
moq.Setup(x=>x.Save(It.IsAny<MyClass>()))
.Callback((myClassParam) => my = myClassParam);
var newMyClass = new MyClassImpl(new Guid(".."));
moq.Object.Save(newMyClass);
Assert.AreSame(newMyClass, my);
}