Поддерживаемые юнит-тесты - PullRequest
25 голосов
/ 11 февраля 2010

Я недавно закончил проект с использованием TDD, и я обнаружил, что этот процесс немного кошмарный. Сначала я с удовольствием писал тесты и наблюдал, как растет мой код, но как только требования начали меняться, и я начал проводить рефакторинг, я обнаружил, что потратил больше времени на переписывание / исправление модульных тестов, чем на написание кода, на самом деле гораздо больше времени.

Я чувствовал, что когда я проходил этот процесс, было бы гораздо легче выполнить тесты после завершения приложения, но если бы я это сделал, я бы потерял все преимущества TDD.

Так есть ли какие-нибудь хиты / советы для написания поддерживаемого кода TDD? В настоящее время я читаю Роя Ошерова «Искусство модульного тестирования» , есть ли другие ресурсы, которые могут мне помочь?

Спасибо

Ответы [ 11 ]

0 голосов
/ 15 февраля 2010

Вы используете хорошую IDE? Я задавал себе тот же вопрос, что и вы несколько лет назад, когда я впервые принял участие в модульном тестировании. Тогда я использовал комбинацию Emacs, find и grep для рефакторинга. Это было больно.

К счастью, коллега ударил меня по голове и убедил меня попробовать использовать «современные инструменты», что на его языке означало Intellij IDEA . IDEA - это мое личное предпочтение, но Netbeans или Eclipse справятся с основами так же хорошо. Трудно переоценить увеличение производительности, которое мне это дало; легко на порядок, особенно для крупных проектов с большим количеством тестов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...