2015-09-03 4 views

ответ

0

Если у вас есть реальное соединение с базой данных, я бы не назвал ваше испытание unit test, но больше как integration test. Честно говоря, подобные тесты не являются хорошей идеей в большинстве случаев. Это требует некоторого обслуживания (каждый раз, когда у вас есть изменения в db), и в большинстве случаев просто проверяет, можно ли подключиться к базе данных (и сохранить некоторый простой объект).

Сфокусируйтесь на написании хороших тестов для классов уровня домена. Простые тесты интеграции базы данных позволят вам создать иллюзию высокого качества приложений.

+0

На самом деле у меня есть устройство Android, которое используется для связи с моим сервером через webservice. Так что я зависим от android, чтобы проверить, работает ли мой метод сохранения. Вот почему я хочу написать junit для этого метода, чтобы убедиться, что он сохраняется в db. Мой db является тестовым. Поэтому я могу что-либо с ним делать (удалить/добавить), и это простой объект, который я сохраняю – asma

0

Если вы хотите написать интеграционный тест, который выглядит как единичный тест, вы можете попробовать Arquillian.

Что Arquillian делает, в основном, запускает контейнер приложения (Glassfish, по-моему, по умолчанию), затем он развертывает ваше серверное приложение в контейнере и запускает тесты против только что развернутого приложения.

То, что вы пишете в модульных тестах, является действительно клиентским кодом, так что то, что вы эффективно выполняете, является интеграционным тестом (с реальной базой данных и всеми услугами, которые у вас были бы в реальной среде), только в junit- как способ.

У них также есть спецификация tutorial для тестирования настойчивость.

Смежные вопросы