После того, как junit тестовый сценарий работал, я должен удалить данные тестирования, связанные с этим тестовым сценарием?

После того, как junit тестовый сценарий работал, должен удалить данные тестирования, связанные с этим тестовым сценарием?

Будет хранение данных тестирования помогать разработчикам отладить код?

5
задан Brian Tompsett - 汤莱恩 8 December 2015 в 16:19
поделиться

3 ответа

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

5
ответ дан 14 December 2019 в 01:02
поделиться

Да, модульные тесты должны начинаться и заканчиваться «чистой» базой данных, файловой системой и т. Д. Каждый тест должен оставлять все как есть.

Помимо всего прочего, это помогает с возможностью повторного запуска - вы можете повторно запускать свои тесты раз за разом.

Иногда, однако, при разработке и отладке может быть полезно отключить удаление данных.

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

2
ответ дан 14 December 2019 в 01:02
поделиться

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

Преимущества такого подхода:

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

Фреймворк DbUnit фактически построен для очистки и вставки тестовых данных в вашу тестовую базу данных в методе setUp() перед каждым тестовым методом. При таком подходе рекомендуется использовать отдельную базу данных для каждого разработчика.

2
ответ дан 14 December 2019 в 01:02
поделиться
Другие вопросы по тегам:

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