Сообщения

Показаны сообщения с ярлыком "юнит-тесты"

Юнит-тестирование в Spring: mock объекты

Изображение
Spring включает ряд пакетов, посвященных мокам: Environment JNDI Servlet API Spring Web Reactive Environment Пакет org.springframework.mock.env содержит фиктивные (mock) реализации абстракций Environment и PropertySource. MockEnvironment и MockPropertySource полезны для разработки внеконтейнерных тестов для кода, который зависит от свойств среды. JNDI Пакет org.springframework.mock.jndi содержит частичную реализацию JNDI SPI, которую вы можете использовать для настройки простой среды JNDI для наборов тестов или автономных приложений. Если, например, экземпляры JDBC DataSource привязаны к тем же именам JNDI в тестовом коде, что и в контейнере Java EE, вы можете повторно использовать как код приложения, так и конфигурацию в сценариях тестирования без изменений. Поддержка фиктивного (mock) JNDI в пакете org.springframework.mock.jndi официально устарела в Spring Framework 5.2 в пользу полных решений от третьих сторон, таких как Simple-JNDI. Servlet API Пакет org.springframewor...

Модульное (юнит) тестирование в Spring

Изображение
Внедрение зависимости должно сделать ваш код менее зависимым от контейнера, чем это было бы при традиционной разработке Java EE. POJO, составляющие ваше приложение, должны тестироваться в тестах JUnit или TestNG с объектами, экземпляры которых создаются с помощью оператора new, без Spring или любого другого контейнера. Вы можете использовать фиктивные объекты (моки) (в сочетании с другими ценными методами тестирования) для изолированного тестирования вашего кода. Если вы будете следовать рекомендациям по архитектуре для Spring, полученное в результате чистое разбиение на уровни и компонентность вашей кодовой базы облегчит модульное тестирование. Например, вы можете тестировать объекты уровня сервиса, вставляя заглушки или имитируя интерфейсы DAO или репозитория, без необходимости доступа к постоянным данным во время выполнения модульных тестов. Истинные модульные тесты обычно выполняются очень быстро, так как не требуется настраивать среду выполнения. Акцент на истинных модульных тест...