Как организовать среду данных для тестов JUnit? - PullRequest
1 голос
/ 06 апреля 2011

Я создаю ресурсоемкое веб-приложение Java EE, которое хранит свои постоянные данные в реляционной базе данных.Теперь я хочу, чтобы некоторые тесты JUnit проверяли поведение приложения в определенных «средах данных».Некоторые объекты должны быть созданы перед тестами и уничтожены после их завершения.Тесты должны быть в состоянии контролировать их конфигурацию настройки данных.Типичная ситуация, а?Теперь мои вопросы:

  • Какие инструменты использовать для этого? DBUnit выглядит довольно старым и не ориентировано на JUnit-4.
  • Где разместить и как назвать создателей объектов?
  • Как передать им сведения о конфигурации?Параметры вызова Java?XML-конфиги?
  • Разве я не должен использовать ExternalResource JUnit для удобства?

Мне интересно узнать, каковы лучшие практики.Как вы решаете эту проблему?

1 Ответ

3 голосов
/ 19 апреля 2011

DBUnit довольно старый, и больше нет инноваций в этом проекте с 2009 года. Основная проблема - интенсивное использование XML для dataSet. Создание набора данных сложно, но выполнимо. Техническое обслуживание это кошмар и иногда слишком дорого ...

Если вы используете сущности с платформой ORM, вы должны попытаться использовать их напрямую для создания экземпляров вашей базы данных. Я рекомендую для этого Unitils, которые помогают конфигурировать тестовую базу данных и обеспечивают внедрение JPA или Hibernate Session. Вы можете объединить этот подход с шаблоном Builder, чтобы выразить значение данных и централизовать конфигурацию.

...