Можно ли написать тест junit, который сохраняется в mysql, используя hibernate/jpa?Испытание Junit, которое сохраняется в mysql
Если да, то какой-либо пример доступен?
Я использую Весна/спящий режим для моего приложения
Можно ли написать тест junit, который сохраняется в mysql, используя hibernate/jpa?Испытание Junit, которое сохраняется в mysql
Если да, то какой-либо пример доступен?
Я использую Весна/спящий режим для моего приложения
Если у вас есть реальное соединение с базой данных, я бы не назвал ваше испытание unit test
, но больше как integration test
. Честно говоря, подобные тесты не являются хорошей идеей в большинстве случаев. Это требует некоторого обслуживания (каждый раз, когда у вас есть изменения в db), и в большинстве случаев просто проверяет, можно ли подключиться к базе данных (и сохранить некоторый простой объект).
Сфокусируйтесь на написании хороших тестов для классов уровня домена. Простые тесты интеграции базы данных позволят вам создать иллюзию высокого качества приложений.
Если вы хотите написать интеграционный тест, который выглядит как единичный тест, вы можете попробовать Arquillian.
Что Arquillian делает, в основном, запускает контейнер приложения (Glassfish, по-моему, по умолчанию), затем он развертывает ваше серверное приложение в контейнере и запускает тесты против только что развернутого приложения.
То, что вы пишете в модульных тестах, является действительно клиентским кодом, так что то, что вы эффективно выполняете, является интеграционным тестом (с реальной базой данных и всеми услугами, которые у вас были бы в реальной среде), только в junit- как способ.
У них также есть спецификация tutorial для тестирования настойчивость.
На самом деле у меня есть устройство Android, которое используется для связи с моим сервером через webservice. Так что я зависим от android, чтобы проверить, работает ли мой метод сохранения. Вот почему я хочу написать junit для этого метода, чтобы убедиться, что он сохраняется в db. Мой db является тестовым. Поэтому я могу что-либо с ним делать (удалить/добавить), и это простой объект, который я сохраняю – asma