Я пишу проект «зеленого поля» с использованием C # и .NET Framework 4, и так как мое последнее приложение преследовало недостаток тестов и не очень тестируемый дизайн, я решил избежать этой ошибки на этот раз.
У меня есть внешние зависимости для каждого класса в интерфейсах, которые вводятся в класс, и сейчас я пишу конкретные реализации.Хотя я не собираюсь начинать писать модульные тесты для тестирования кода в фреймворке, я обеспокоен тем, что если в способе, которым я вызываю класс фреймворка, есть ошибка, то у меня нет возможности ее протестировать.В качестве очень простого примера допустим, что я использовал SQLCommand (на самом деле я использую EF 4.1, но это всего лишь пример), и я забыл установить свойство подключения в команде.Моя идея состоит в том, что, если бы я смоделировал определенные классы каркаса, я мог бы протестировать эти соглашения с помощью имитации и избежать потенциального источника ошибок.Это также будет означать, что я имитирую определенные исключения из классов инфраструктуры, которые неудобно проверять, но они встречаются, например UnauthorizedAccessException, OutOfMemoryException и т. Д.
Я понимаю, что код, скорее всего, просто сломается, когда я попытаюсь запустить кодчтобы проверить это, но что-то в глубине души говорит мне, что есть шанс, что я могу что-то упустить и узнать об этом только после того, как продукт появится в продаже.Есть ли основания для этого или это довольно серьезный случай ЯГНИ?