У меня есть эти макеты:
_processWrapperMock = new Mock<IProcessWrapper>(MockBehavior.Strict);
_processStartInfoMock = new Mock<IProcessStartInfo>();
и установка для метода Start()
:
_processWrapperMock.Setup(m => m.Start(_processStartInfoMock.Object))
.Returns(new Process());
и мой экземпляр _processWrapperMock
передается в конструктор для объектакоторый содержит метод, который я тестирую.
var wrapper = new WrapperClassImTesting(_processWrapperMock.Object);
Затем я выполняю метод, который я тестирую:
byte[] output = wrapper.MethodImTesting(someParams);
Внутри MethodImTesting
, метод Start
_processWrapperMock
выполнено, но моя предыдущая настройка, кажется, не принимается во внимание.Я получаю сообщение об ошибке:
using (var process = _processWrapper.Start(processStartInfo))
throwing:
Исключение Mock не было обработано кодом пользователя
IProcessWrapper.Start (GraphVizWrapper.ProcessStartInfo)сбой вызова с фиктивным поведением Strict.Все вызовы на макете должны иметь соответствующую настройку.
Что я делаю / не делаю, что мне нужно, чтобы это работало так, как я ожидаю?