Должен ли я удалить тестовые данные, связанные с этим тестовым примером, после запуска тестового примера junit? - PullRequest
5 голосов
/ 10 июня 2010

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

Поможет ли сохранение данных теста разработчикам отладить код?

Ответы [ 3 ]

5 голосов
/ 10 июня 2010

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

2 голосов
/ 10 июня 2010

Рекомендую начинать тестирование с очистки и вставки предпочтительных данных теста. И оставьте базу данных как есть.

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

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

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

2 голосов
/ 10 июня 2010

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

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

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

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

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