Я хочу начать использовать TDD. Любые советы для начинающего? [закрыто]

27

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

Какой хороший способ выучить TDD? Я, вероятно, буду использовать Eclipse для программирования на Java. Я слышал о JUnit, но я не знаю, есть ли что-то еще, что я должен рассмотреть.

Mike42
источник

Ответы:

15

Вы могли бы начать работать над кодированием катов . Выберите алгоритм (например, преобразование десятичных чисел в римские, выигрыш в игре в боулинг, игру в жизнь Конвея и т. Д.) И попробуйте использовать TDD для работы над решением.

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

Какой инструмент вы используете для своих каталогов TDD, на самом деле не имеет значения, если вы придерживаетесь принципов. Тем не менее, плагин JUnit для Eclipse очень прост в использовании, поэтому это отличный выбор.

azheglov
источник
8

Познакомьтесь с AAA , прочитайте об этом, прочитайте о проблемах, связанных с разработкой, основанной на тестировании ( дизайн для тестируемости по сравнению с дорогостоящими инструментами, чтобы дизайн не имел значения) Изучите внедрение зависимостей, чтобы упростить удаление внешних зависимостей для тестирования.

Вот хороший обзор заметок, которые я сделал, читая «Искусство модульного тестирования»

http://imaginarydevelopment.blogspot.com/2010/01/unit-testing-reference.html

Маслоу
источник
1
+1 за рекомендацию «Искусство юнит-тестирования». На мой взгляд, одна из лучших книг, объясняющих юнит-тестирование, не отпугивая читателей.
Анна Шуесслер
6

На самом деле ничто не заменит просто захват тестового ремня (например, NUnit), чтение некоторой литературы, а затем грязные руки.

Как однажды сказал Джеймс Т. Кирк: «Мы учимся на практике».

Крис Холмс
источник
4

Я настоятельно рекомендую эту книгу: « Растущее объектно-ориентированное программное обеспечение на основе тестов»

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

flamingpenguin
источник
-3

Проверьте эту ссылку . Это блог Боба Мартина о TDD - отличный материал, который поможет вам понять (или дать другое представление) о мышлении в TDD.

ratkok
источник
2
Слоган блога, по словам самого дяди Боба, звучит так: «Письма о чистом коде, дизайне и всем остальном программном обеспечении». Содержание блога намного шире, чем в «любых советах для начинающих [в TDD]».
ажеглов