Используя встроенного профилировщика для наблюдения, где горячие части моего кода:
profile on
% some lines of code
profile off
profile viewer
или просто использование созданного в tic
и toc
для получения быстрых синхронизаций:
tic;
% some lines of code
toc;
Я сам узнал, вы действительно можете сделать это с помощью Moq, вот так:
var info = new Info { stuff = 1 };
textReader.Setup(o => o.Read<CandidateCsv>("", out info));
вот и все :)
Moq не поддерживает имитацию параметров out / ref, но вы можете сделать это, используя Rhino Mocks, используя OutRef, который принимает один аргумент для каждого параметра 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);