Я использую ninject для инъекций зависимостей в моей производственной среде. Я вижу два варианта, когда дело доходит до написания модульных тестов. Я могу либо создавать конкретные классы, либо вводить их с помощью ninject, или я могу использовать фальшивую фреймворк, как просто макет.При использовании Ninject для инъекций зависимостей лучше всего использовать Ninject в своих модульных тестах или использовать насмешливую структуру.
Мой мыслительный процесс заключается в том, чтобы использовать оба варианта и иметь решающий фактор: можно ли построить TestInterface в многоразовом режиме. Таким образом, мы не тратим время на то, чтобы написать тот же метод Mocked, чтобы снова и снова возвращать пустой список.
Есть ли наилучшая практика для этого типа вещей?
Мы не используем Ninject в наших модульных тестах, как в ответе от BatteryBackupUnit (сумасшедшее имя btw :-)), но мы используем его в наших тестах приемки. Приемочный тест проверяет (почти) полную функцию (без интерфейса пользователя, базы данных или любого другого внешнего API-интерфейса процесса). – Urs
@ Спасибо за объяснение приемочных испытаний. Я изменил текст, чтобы упомянуть «приемочные испытания» вместо «spec testing», потому что это более широко известный и более точно определенный термин. – BatteryBackupUnit