Готовый перевод The Art of Unit Testing / Искусство модульного тестирования: Part 2. Core techniques

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

Раздел 2. Базовые техники

Сделав обзор основ в предыдущих частях, теперь я представлю базовые техники тестирования и рефакторинга, необходимые для написания тестов для реальных проектов.

В 3 главе мы попробуем заглушки (stub) и посмотрим, как они помогают устранять зависимости. Мы пройдемся по техникам рефакторинга, позволяющим сделать ваше приложение более тестируемым и вы узнаете о швах (хз, что это) процесса.

В 4 главе мы коснемся фиктивных объектов и тестирования взаимодействия. Мы посмотрим, чем фиктивные объекты (mock objects) отличаются от заглушек (stubs) и рассмотрим концепцию "фальшивых объектов".

Глава 3. Использование заглушек для устранения зависимостей

В этой главе рассматривается

Определение заглушек

Рефакторинг кода для использования заглушек

Преодоление проблем с инкапсуляцией

Исследование лучших практик при использовании заглушек

В предыдущей главе вы написали свой первый модульный тест, используя NUnit и исследовали несколько атрибутов тестирования. Вы также создали тесты для простых сценариев использования (use case), где все, что вы должны были проверить, это возвращаемые значения от объектов или состояние тестируемого модуля в системе с минимально-достаточным функционалом.

Введение в заглушки

Главная тема этого раздела, как и большей части этой книги, является контроль внешних зависимостей. В программировании Вы используете заглушки для отделения проблемного места от внешних зависимостей.

Определение

public bool IsValidLogFileName(string fileName) { // Просматривает файл конфигурации // Возвращает true, если, согласно конфигурации, расширение поддерживается. }

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/50563/210883

Переводчики: Skaarj, SakhipovRR, aushtx, dima117

K_Demishev

Настройки

Готово:

2.19% КП = 1.1

Непереведённые фрагменты будут пропущены.