В чем разница между MockBehavior.Loose и MockBehavior.Strict в SimpleStub? - PullRequest
0 голосов
/ 07 мая 2018

Я новичок в модульном тестировании VS. Я учусь добавлять макет модуля в свой проект модульного тестирования с помощью SampleStub Framework.

И теперь я сталкиваюсь с проблемой понимания MockBehavior.Loose и MockBehavior.Strict. Что я действительно хочу знать, это разница между этими двумя выбрать? Может ли этот выбор сильно заразить мой модульный тест?

1 Ответ

0 голосов
/ 07 мая 2018

Если вы используете MockBehaviour.Strict, макет ведет себя так же, как объект класса, который вы издевались. Это заставляет mock всегда генерировать исключение для вызовов, которые не имеют соответствующего ожидания.

Таким образом, если вы немного изменили класс (добавили метод), вы также захотите добавить этот метод в макет, чтобы ваши тесты прошли успешно.

MockBehavior.Loose, с другой стороны, никогда не будет генерировать исключения, возвращая значения по умолчанию, когда это необходимо (ноль для ссылочных типов или ноль для типов значений). Это поведение по умолчанию.

...