Я понимаю необходимость протестировать класс с логикой (например, тот, который может рассчитать скидки), где вы можете проверить фактический класс.
Но я только начал писать модульные тесты для проекта, который будет выступать в качестве репозитория (получить объекты из базы данных). Я нахожу, что пишу "фальшивый" репозиторий, который реализует интерфейс ISomethingRepository
. Он использует Dictionary<Guid, Something>
для хранения внутри. Он реализует методы Add(Something)
и GetById(Guid)
интерфейса.
Почему я пишу это? Ничто из того, что я пишу, на самом деле будет использоваться программным обеспечением при его развертывании, не так ли? Я не вижу значения этого упражнения.
Я также получил совет использовать макет-объект, который я могу настроить заранее, чтобы оправдать определенные ожидания. Это кажется еще более бессмысленным для меня: конечно, тест будет успешным, я издевался/подделывал его, чтобы добиться успеха! И я все еще не уверен, что фактическое программное обеспечение будет работать так же, как при подключении к базе данных...
запуталась...
Может ли кто-нибудь указать мне в правильном направлении, чтобы помочь мне понять это?
Спасибо!