Тестовый блок JUnit для тестирования данных из базы данных является самым последним и не устарел - PullRequest
1 голос
/ 29 июля 2011

Я получаю список данных из базы данных из моего Service метода класса mDataVO.getMarketData(), где mDataVO - это объект marketDataVO, который является объектом значения для хранения различных типов данных.

Внутри моего getMarketData() я делаю Hibernate Query для получения данных из базы данных.Теперь моя цель состоит в том, чтобы провести модульное тестирование этих данных в моем классе модульного тестирования и убедиться, что я получаю правильные данные, наши и возвращенные данные из вызова метода не устарели и совпадают с последним значением из базы данных.

Для этой цели в моем классе модульных тестов я использовал тот же Hibernate Query и поэтому получаю тот же набор данных, что теперь не решает цель модульного тестирования, поскольку я просто сравниваю те же данные, которые полученызапустив тот же запрос в базе данных.Я не уверен, как этот случай может быть проверен модулем.

Я пропускаю точку модульного тестирования или не вижу никаких значений в моем модульном тесте?

Обновление Вопрос все еще остается без ответа.Есть еще предложения?

1 Ответ

2 голосов
/ 29 июля 2011

Проблема с тестированием баз данных, как можно догадаться, связана с данными.

Я думаю, что способ атаковать это иметь тестовую базу данных, соответствующую вашей производственной схеме. Сделайте то, что вам нужно, чтобы заполнить базу данных, протестировать объекты доступа к данным, а затем отбросить тестовую базу данных.

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

Проверка базы данных DAO для модульного тестирования. Как только он заработает, вы должны высмеивать DAO при тестировании сервиса. Модульное тестирование службы означает, что вы больше не беспокоитесь о DAO. Просто убедитесь, что служба получает данные, необходимые для подтверждения ее правильной работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...