Вы пишете свои модульные тесты прежде или после кодирования части функциональности? [закрытый]

16
задан faceless1_14 7 May 2012 в 12:50
поделиться

9 ответов

каждый раз, когда возможный я пытаюсь следовать за чистым подходом TDD:

  1. пишут модульные тесты для функции, разрабатываемой ; это вынуждает меня выбрать открытый интерфейс (интерфейсы)
  2. , кодируют функцию ASAP (как простой как возможный, но не более простой)
  3. исправляют/осуществляют рефакторинг/повторно тестируют
  4. дополнительные тесты при необходимости для лучшего покрытия, исключительных путей, и т.д. [редкий, но стоящий рассмотрения]
  5. повторение со следующей функцией

, легко войти в азарт и начать кодировать функцию сначала, но это часто означает, что Вы не продумаете все открытые интерфейсы заранее.

РЕДАКТИРОВАНИЕ: обратите внимание, что, если Вы пишете код сначала, это легко к неумышленно , пишут тест для приспосабливания коду, вместо наоборот!

38
ответ дан 30 November 2019 в 15:28
поделиться

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

Так, да, пишут тест сначала. Это берет силу воли и определение, но это действительно приводит к лучшим результатам.

Как добавленная премия, TDD действительно помог мне быть сосредоточенным в среде с отвлекающими факторами.

12
ответ дан 30 November 2019 в 15:28
поделиться

Я следую за подходом TDD, но я не такое же количество пуриста как некоторые. Как правило, я буду грубо в классе/методе с тупиком, который просто бросает NotImplementedException. Тогда я начну писать тест (тесты). Одна функция за один раз, один тест за один раз. Часто, я найду, что пропустил тест - возможно, при записи других тестов или когда я найду ошибку - тогда я возвращусь и запишу тест (и исправление ошибки, при необходимости).

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

4
ответ дан 30 November 2019 в 15:28
поделиться

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

1
ответ дан 30 November 2019 в 15:28
поделиться

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

0
ответ дан 30 November 2019 в 15:28
поделиться

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

Иногда я даже писал, что тесты без утверждают, просто отладьте выводы, только для тестирования этого, как я использую что-то, работает без исключений.

, Таким образом, мой ответ после определенного кодирования.

0
ответ дан 30 November 2019 в 15:28
поделиться

Я использую Разработку через тестирование (TDD) для создания большей части моего производственного кода, таким образом, я пишу свои модульные тесты сначала, если я не работаю над непригодным для тестирования унаследованным кодом (когда панель для записи тестов слишком высока).

Иначе, я пишу приемочные испытания функционального уровня, что код должен быть satisfice.

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

0
ответ дан 30 November 2019 в 15:28
поделиться

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

0
ответ дан 30 November 2019 в 15:28
поделиться

Обычно я пишу модульные тесты перед кодом. Они очень выгодны и пишут их, прежде чем код просто будет иметь смысл. Внедрение зависимости предоставляет себя хорошо поблочному тестированию. Внедрение зависимости позволяет, чтобы части Вашего кода дразнились, таким образом, Вы только тестируете конкретную единицу, т.е. Ваш код слабо связывается и it’s, поэтому легкий выгружать для различного (в этом случае дразнивший) реализацию.

0
ответ дан 30 November 2019 в 15:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: