我尝试使用NMock2但是在尝试将模拟传递给构造函数时我得到TypeLoadExceptions,我也看到TypeMock可以做到这一点,但它花费80美元
答案 0 :(得分:7)
我发现自己,你可以用Moq实际做到这一点,就像这样:
var info = new Info { stuff = 1 };
textReader.Setup(o => o.Read<CandidateCsv>("", out info));
就是这样:))
答案 1 :(得分:3)
Moq does not支持模拟out / ref参数,但你可以使用OutRef使用Rhino Mocks,它接受方法中每个out / ref参数的一个参数。
MockRepository mockRepository = new MockRepository();
// IService.Execute(out int result);
var mock = mockRepository.CreateStub<IService>();
int mockResult; // Still needed in order for Execute to compile
mock.Setup(x => x.Execute(out mockResult)).OutRef(5);
mock.Replay();
int result;
mock.Execute(out result);
Assert.AreEqual(5, result);