Unit-тестирование JdbcTemplate

В прошлых статьях (создание JdbcTemplate-проекта, отображение информации на jsp-страницах, запрос информации с помощью cUrl) мы рассмотрели вопросы создания SpringBoot-проекта с доступом к базе данных посредством Spring JdbcTempale. Сегодня я предлагаю Вашему вниманию последнюю статью цикла — юнит-тестирование функционала JdbcTemplate.

Итак, открываем наш проект, созданный ранее (если что, ссылка на gitHub на полный проект будет в конце статьи) и видим, что, скорее всего, папка test с пакетом com.antonromanov.jdbctemplate внутри уже создана:

Добавляем туда новый класс JdbcTemplate, вот его код:

Немного пройдусь по частям кода.

Во-первых, довольно важными являются две аннатации перед началом самого класса:

@RunWith( SpringRunner.class )
@SpringBootTest

Без них unit-тест никак не хотел «автовайрить» DaoService, промучался я много, сразу скажу.

В данном тесте я использую JdbcTestUtils. Вообще для подобных тестов, лучше создать отдельный источник данных, связанный с отдельной базой данных или отдельной тестовой таблицей, потому что JdbcTestUtils.deleteFromTables(personDao.getJdbcTemplate(), «public.user») будет все подчищать из Вашей таблицы User при каждом запуске теста.

Далее мы просто создаем нового пользователя:

//insert
User user = new User("Dana", "email@test.com");

Добавляем его в таблицу:

long generatedId = (personDao.addNew(user)).getId();

… и печатаем его id.

А потом выводим список всех пользователей и проверяем, что его количество равно 1.

Ссылка на полный код проекта на gitHub.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *