directoryInfoMock.Stub(x => x.Exists).Return(true);
гарантирует, что любой вызов свойства directoryInfoMock.Exists
вернет true
. Но если свойство никогда не вызывается или вызывается много раз, оно не вызовет сбой теста. Цель заглушки - предоставить тестируемому коду некоторую пищу, чтобы он мог нормально работать.
directoryInfoMock.Expect(x => x.Create());
ожидает , что метод directoryInfoMock.Create
будет вызван хотя бы один раз. Если нет, Rhino.Mocks выдаст исключение во время выполнения directoryInfoMock.VerifyAllExpectations()
.
Так что, в принципе, ваш юнит-тест должен работать как положено. Какой вывод теста?
UPDATE
Возможно, вы захотите указать явное количество раз, которое метод должен быть вызван также. Это можно сделать с помощью Repeat.x
с x
, равным Once()
, Twice()
, Never()
или Times(N)
.
directoryInfoMock.Expect(x => x.Create()).Repeat.Never();
Ожидается, что Create
никогда не вызывается 1032 *. И, конечно, ваш тест не пройдёт, если он действительно будет вызван.