Вопрос

Я продолжаю читать о людях, которые «заражены тестом», что означает, что они не просто «заражаются» TDD, но и не могут жить без него.Они как бы «преобразились».Вопрос в том, как мне этого добиться?

Это было полезно?

Решение

Частью «тестового заражения» является то, что вы достаточно использовали TDD и видели достаточно успехов, вы не хотите кодировать без него.После того, как вы сначала прошли цикл написания тестов, затем кодирования и рефакторинга и увидели, что количество ошибок снижается, а в результате ваш код становится лучше, это не только становится вашей второй натурой, как сказал Зхаос, но и вам становится трудно идти дальше. вернемся к коду First.Это тестовое заражение.

Другие советы

Вы уже читали о TDD;чтение большего не вызовет у вас энтузиазма.

Вместо этого вам нужна настоящая история личного успеха.

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

Затем начните писать для него модульные тесты.(Я предполагаю, что у вас есть xUnit или аналогичный для вашего языка.) Будьте очень неприятны с тестами - проверяйте каждый граничный случай, проверяйте max-int и min-int, проверяйте нули, тестируйте строки и списки с миллионами элементов, тестовые строки с корейскими и управляющими символами, арабским письмом справа налево, кавычками, обратными косыми чертами, точками и другими вещами, которые имеют тенденцию ломать вещи, если их не экранировать.

То, что вы найдете, это....ошибки!Сначала вы можете подумать, что эти ошибки не важны — вы еще не сталкивались с этими проблемами, ваш код, вероятно, никогда бы этого не сделал и т. д.и т. д..Но мой опыт показывает, что если вы продолжите двигаться вперед, вы будете поражены количеством мелких проблем.В конце концов становится трудно поверить в то, что никто из этих ошибок будет всегда вызвать проблему.

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

Наконец, я думаю, что последнее событие, которое вызовет любовь, произойдет через несколько недель или месяцев.Возможно, вы исправляете ошибку, добавляете функцию или проводите рефакторинг кода, и что-то из того, что вы делаете, нарушает модульный тест."Хм?" Вы скажете, не понимаете, почему новое изменение было даже актуально для сломанного теста.Тогда вы найдете его и обретете просветление.Потому что ты действительно не знал что вы нарушали код, и тесты вас спасли.

Аллилуйя!

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

Кроме того, начните использовать платформу J-Unit (или X-Unit) для выбранного вами языка.

Одно слово, практика!При использовании TDD есть некоторые накладные расходы, и способ их преодолеть — практиковаться и убедиться, что вы используете инструменты, помогающие этому процессу.Вам нужно изучить инструменты как свои пять пальцев.Как только вы изучите инструменты, необходимые для выполнения изучаемого процесса, он начнет работать, и вы сначала научитесь писать тесты, чтобы очистить код.Тогда вы будете «тестово заражены».

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top