JUnit в Spring MVC. Подключение и настройка JUnit в Spring MVC

Тестирование с помощью JUnit в Spring MVC. Подключение и настройка JUnit. Внедрение ресурсов и зависимостей в тестирующий класс

Обзор приложения Spring MVC + AngularJS + Bootstrap + HTML5
Используемые технологии и библиотеки
  • Spring MVC 4.2.4.Release
  • JUnit 4.12
  • Maven 3.2.5
  • IntelliJ IDEA 15.0.2

1. Описание задачи

Рассмотреть использование фреймворка JUnit в приложении Spring MVC. Создать тестовый класс с применением тестовых аннотаций. Произвести настройки в файле конфигурации Spring MVC.

2. Структура проекта

junitStructure

Для тестирования используются классы JDBCExampleTest и SampleTestBean. В них будут использованы классы из проекта: DBLogSampleBeanUserJDBCExample.

3. pom.xml

Для использования фреймворка JUnit в Spring MVC необходимо подключить несколько зависимостей.

Зависимость для JUnit позволяет использовать возможности этого фреймворка. Так же следует обратить внимание на подключенный модуль тестирования Spring. В рамках этой статьи рассказать об особенностях и возможностях этого модуля рассказать не получится (в документации на это выделено несколько глав). Модуль предоставляет широкий набор аннотаций (например здесь мы будем использовать @ContextConfiguration), возможности для тестирования ORM функционала (JDBCExampleTest в нашем приложении) и многое другое.

Полный конфиг pom.xml:

4. Конфигурация Spring MVC

Для тех кто изучает материал последовательно стоит обратить внимание на закомментированный код из прошлых частей в конфигурации mvc-config.xml, который будет ронять приложение для этой части.

Каких-либо особенных настроек в приложение добавлять не нужно, поэтому размещу под катом настройки приложения Spring MVC.

mvc-config.xml:

application-context.xml:

5. Java классы

Приведу под катом Java классы, которые будут использоваться для тестирования. Если кому-то интересен смысловая нагрузка этих классов, то они были описаны в предыдущих частях (DBLog, JDBCExample, User — в части работы с JDBC). SampleBean — просто spring-бин c двумя полями, которые инициализируются при инициализации бина.

DBLog:

SampleBean:

User:

JDBCExample:

6. Классы для тестирования

Перейдем к классам по теме данной статьи. Рассмотрим как можно тестировать корректное создание бина в контексте Spring MVC, проверять какие-либо поля и переменные. Для этого был создан класс SampleTestBean.

Вначале мы используем две аннотации. @RunWith — аннотация из фреймворка JUnit. С помощью нее мы указываем как будем запускать наш тестирующий класс. Класс, который указывается для этой аннотации должен быть унаследован от Runner. В нашем случае мы указываем класс из пакета org.springframework.test.context.junit4, который был подключен в pom.xml в начале статьи.

Вторая важная аннотация — @ContextConfiguration. С помощью этой аннотации мы можем определить файлы конфигурации контекста Spring приложения. Здесь показана возможность перечисления нескольких xml файлов через запятую и в фигурных скобках. Далее внутри класса мы используем автосвязывание для получения доступа к объекту контекста приложения. С помощью него мы проверяем корректность создания бина, а также инициализацию двух полей этого бина.

6.1 Тестирование ORM класса в Spring MVC

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

Различные методы тестируют различные операции работы с базой данных (запись, удаление, получение данных).

7. Запуск тестирования

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

markAsTest

Для запуска тестирования можно выбрать необходимый класс и нажать «плей».

howToRun

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

JunitMVCRun

JunitMVCRun2

Вот примерно в такой последовательности можно объединить возможности модуля тестирования Spring и одного из самых популярных фреймворков для тестирования JUnit. Если вам необходимо серьезно покрыть тестами ваше приложение, то рекомендую ознакомиться с официальной документаций JUnit и Spring. Объем информации достаточно большой, но его изучение откроет широкие возможности для тестирования.

 

Исходные коды

MVC_AngularJS_Html5 full project — полный проект Spring MVC + AngularJS + Bootstrap + HTML5.

14. JUnit test — код для этой части

Обзор приложения Spring MVC + AngularJS + Bootstrap + HTML5
Share Button
4
8501 Total Views 1 Views Today

Добавить комментарий