Вы дали ограниченную информацию об инструментах/каркасов вы используете, и очень общий вопрос, но я дам быстрый ответ на вопросы, которые вы поднять. Тем не менее, это лишь указатели, так как я считаю, что вам нужно сделать немного больше работы на ногах, чтобы вы могли понять, что лучше всего подходит для вашего конкретного проекта.
Junit позволяет настраивать методы класса с помощью определенных параметров и проверять возвращаемые значения. Возвращаемые значения могут быть сущностью, которая должна иметь определенное поле при определенных значениях, список объектов с определенными ожидаемыми значениями полей, исключениями и т. Д. И т. Д. (Какими бы ни были ваши методы). Вы можете запустить свой тест, пока вы вводите новые функции, и повторно запускайте их для проверки регрессии по мере продолжения разработки. Вы можете легко протестировать кейсы и не номинальные вещи. Получение Junit в Java SE/EE довольно прямолинейно, так что это может быть хорошим вариантом для вас, чтобы вы влились в тестирование. Это один из самых быстрых способов использования новых функций.
Spring/MVC - Использование структуры MVC, безусловно, может быть полезно. Я использовал JSF/Primefaces. Но это главным образом потому, что приложение должно быть JSF-приложением, и такие тесты разработки дали уверенность, что слой «Модель» предоставил то, что было необходимо для остальной части фреймворка. Таким образом, это обеспечивает некоторую уверенность в уровнях модели/JPA/DB (конечно, приятно видеть данные, которые поставляются), но не обеспечивает гибкое, проворное и целевое тестирование, которое вы можете ожидать от Junit.
Я думаю, что Dbunit может быть чем-то посмотреть, когда вы достигли определенного прогресса с JUnit. См http://dbunit.sourceforge.net/
DbUnit является расширением JUnit (также можно использовать с Ant), направленных на проектов на основе баз данных, которые, среди прочего, ставит свою базу данных в известное состояние между тестовых прогонов. Это отличный способ: избежать множества проблем, которые могут возникнуть, когда один тестовый пример развращает базу данных и приводит к сбоям в последующих тестах или усугубляет ущерб.
Ваш вопрос слишком общий. Задайте конкретную проблему. Что вы подразумеваете под тестированием проекта JPA. Mocking EntityManager или что-то еще? – Bevor
и помимо этих проблем с вашим «вопросом» вы не определили «лучший». Не место для таких вопросов ... –
Спасибо за ваши ответчики. Тестирование проекта JPA Я имею в виду тестирование DAO, тестирование того, что добавление сущностей в базу данных в порядке, схема правильная и т. Д., А для «наилучшего» я имею в виду самое простое решение, потому что раньше я никогда не использовал jUnit! Еще раз спасибо – TER