У меня много сущностей в приложении, и я использую реализацию JPA для их сохранения, поэтому большинство методов CRUD в DAO одинаковы (см. Пример диаграммы классов ниже).
Для этой цели существует интерфейс DAOTemplate
, который содержит методы, доступные для всех сущностей, и реализуется абстрактным классом AbstractDAO
.
Для некоторых сущностей требуются дополнительные методы, такие как findByEmail
для User
сущности.Для этого есть интерфейс DAO с такими методами, например, UserDAO
.
Теперь я хочу написать интеграционные тесты для всех методов (в DAOTemplate
и UserDAO
).Какое лучшее решение?Должен ли я каким-то образом (как?) Проверить AbstractDAO
, а затем только специальные методы в UserDAOTest
или я должен проверить все методы в UserDAOTest
, а также в других тестовых примерах для других объектов?Я пытаюсь избежать второго решения, потому что оно мне не нравится.
Спасибо за ответы.