Как запустить модульный тест старый и новый код?

Также смотрите на BackendPro

В конечном счете, Вы, вероятно, закончите тем, что писали что-то пользовательское, но нет ничего неправильно с заимствованием понятий от Автора DX, Странного Автора, BackendPro, и т.д.

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

я также использую Присяжного острослова и ADOdb в моем коде CI, так неважно, что я всегда заканчивал бы тем, что внес главными изменениями кода.

18
задан Roland Bengtsson 16 July 2009 в 12:19
поделиться

5 ответов

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

В любом случае, если вы можете провести рефакторинг, сделайте рефакторинг, чтобы сделать его тестируемым. По возможности не смешивайте создание объекта с логикой (я не знаю delphi, но может быть некоторая структура внедрения зависимостей, которая поможет в этом).

В этом блоге много хороших сведений о тестировании. Посмотрите, например, эту статью (мое первое предложение было основано на нем).

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

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

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

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

Альтернативный подход, который я использовал, - это разработка моих модульных тестов через Co-Ops :)

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

Написание модульных тестов для устаревшего кода обычно требует значительного рефакторинга. Прекрасная книга, раскрывающая это, - это книга Майкла Фезера « Эффективная работа с устаревшим кодом »

Еще одно предложение: используйте инструмент покрытия модульным тестом, чтобы показать свой прогресс в этой работе. Однако я не уверен, какие хорошие инструменты покрытия для кода Delphi. Думаю, это будет другой вопрос / тема.

Эффективная работа с устаревшим кодом

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

Для юнит-тестирования .Net прочтите следующее: « Искусство модульного тестирования: с Примеры в .NET "

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

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

При работе с устаревшим кодом макеты objetcs действительно полезны для сборки модульных тестов.

Взгляните на этот вопрос о Delphi и макетах: Какая ваша любимая библиотека издевательств над Delphi?

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

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