Тесты: Насмешка Базы данных с помощью бобов Spring

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

Это должны быть руководящие принципы, а не законы, изложенные в камне.

И мне действительно нравятся шаблоны, и книга GoF более или менее так говорит об этом, материал для просмотра, предоставляющий общий жаргон. Не Евангелие от шарика и цепи.

6
задан RN. 1 July 2009 в 12:46
поделиться

4 ответа

Эту технику мы используем уже много лет. Обратите внимание, что когда дело доходит до имитации интерфейсов DAO, у вас есть несколько вариантов:

  • Создавать фиктивные экземпляры как настоящие классы Java
  • Использовать динамическую структуру фиксации, такую ​​как jMock (мое предпочтение) или EasyMock

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

5
ответ дан 17 December 2019 в 00:13
поделиться

Это отличный способ использовать имитацию для тестирования базы данных. Я не думаю, что необходимо какое-либо альтернативное предложение; Думаю, у вас уже есть правильная техника!

1
ответ дан 17 December 2019 в 00:13
поделиться

Вы определенно на правильном пути.

Мой фреймворк для насмешек Mockito

1
ответ дан 17 December 2019 в 00:13
поделиться

Насколько я понимаю, этот вопрос явно посвящен передовым методам тестирования уровней DAO, поскольку издевательство над базой данных кажется не таким простым, как издевательство над уровнем DAO при тестировании сервисов.

Лично я ' Я подниму вопрос, разумно ли действительно модульное тестирование уровня DAO в классическом смысле модульного тестирования. Если вы правильно спроектируете свой уровень DAO, он не сделает ничего больше, чем сопоставление объектов домена с запросами.

Тем не менее, я всегда предлагаю использовать встроенную базу данных, такую ​​как H2, HSQL или встроенный Derby Java 6, чтобы делать такие вещи как имитацию источник данных действительно требует гораздо больше усилий, чем просто создание встроенной базы данных. Spring 3 предоставит хороший шаблон для создания таких баз данных на лету. RC1 также представит пространство имен jdbc для дальнейшего упрощения настройки. Подробнее см. этот .

Но даже в текущей ветке Spring 2.5 с использованием встроенной базы данных достаточно взять JAR базы данных и соответственно настроить DataSource .

0
ответ дан 17 December 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: