модульное тестирование DAO - PullRequest
       17

модульное тестирование DAO

3 голосов
/ 12 сентября 2010

Допустим, я делаю методы модульного тестирования для UserDAO. Я пишу тест для метода удаления UserDao. Сначала я вставляю пользователя в базу данных, затем вызываю метод удаления и проверяю, существует ли объект до сих пор.

Мой вопрос: для модульного теста удаления, когда я вставляю пользователя в тест, должен ли я вызывать метод вставки UserDao ... ИЛИ было бы лучше не вызывать какие-либо методы объекта, который я ' m протестировать и использовать собственный способ, скажем, с помощью jdbc выполнить вставку, а затем вызвать мой метод удаления?

Ответы [ 2 ]

1 голос
/ 14 сентября 2010

Используйте DBUnit или что-то подобное для настройки данных для теста. DBUnit позволяет вам указать, какие тестовые данные вставляются для теста, вы даже можете указать чистую вставку, которая удаляет все (из таблиц, для которых указаны тестовые данные), а затем вставляет только то, что вы хотите. Лучше всего, если тесты независимы друг от друга, и вы не хотите, чтобы проблема с кодом вставки вызывала проблемы для других тестов, которые зависят от него при настройке.

1 голос
/ 14 сентября 2010

DAO часто слишком просты для взлома, тогда я думаю, что не стоит тратить ресурсы на тестирование.Ваше объяснение выглядит так, как будто это так.

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

Возможно, предоставьте некоторые фрагменты кода, чтобы помочьбольше.

...