#spock_framework — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #spock_framework, aggregated by home.social.
-
Стенд для нагрузочного тестирования на Testcontainers
Опыт работы с тестовыми сценариями достиг высокого уровня удобства благодаря использованию Testcontainers. С помощью Testcontainers появилась возможность удобно создавать окружение для интеграционных тестов (см. статью Изоляция в тестах с Кафкой ). Мы можем поднимать контейнеры с различными версиями разных баз данных, брокеров сообщений и т.д. При фокусе на интеграционные тесты, Testcontainers становится незаменимым компонентом среды выполнения. Нагрузочное тестирование, хотя и встречается реже, чем функциональное, может быть более увлекательным с технической точки зрения и с точки зрения инженерного любопытства. Интересно наблюдать за графиками и исследовать детали работы конкретного сервиса. Это редкая, но для меня более захватывающая задача. Цель данной статьи — продемонстрировать подход к созданию стенда для нагрузочного тестирования в том виде, в котором пишутся обычные интеграционные тесты: в форме spock-тестов с использованием Testcontainers в среде Gradle проекта. В качестве утилит нагрузочного тестирования используются Gatling, WRK и Yandex.Tank.
-
Стенд для нагрузочного тестирования на Testcontainers
Опыт работы с тестовыми сценариями достиг высокого уровня удобства благодаря использованию Testcontainers. С помощью Testcontainers появилась возможность удобно создавать окружение для интеграционных тестов (см. статью Изоляция в тестах с Кафкой ). Мы можем поднимать контейнеры с различными версиями разных баз данных, брокеров сообщений и т.д. При фокусе на интеграционные тесты, Testcontainers становится незаменимым компонентом среды выполнения. Нагрузочное тестирование, хотя и встречается реже, чем функциональное, может быть более увлекательным с технической точки зрения и с точки зрения инженерного любопытства. Интересно наблюдать за графиками и исследовать детали работы конкретного сервиса. Это редкая, но для меня более захватывающая задача. Цель данной статьи — продемонстрировать подход к созданию стенда для нагрузочного тестирования в том виде, в котором пишутся обычные интеграционные тесты: в форме spock-тестов с использованием Testcontainers в среде Gradle проекта. В качестве утилит нагрузочного тестирования используются Gatling, WRK и Yandex.Tank.
-
Стенд для нагрузочного тестирования на Testcontainers
Опыт работы с тестовыми сценариями достиг высокого уровня удобства благодаря использованию Testcontainers. С помощью Testcontainers появилась возможность удобно создавать окружение для интеграционных тестов (см. статью Изоляция в тестах с Кафкой ). Мы можем поднимать контейнеры с различными версиями разных баз данных, брокеров сообщений и т.д. При фокусе на интеграционные тесты, Testcontainers становится незаменимым компонентом среды выполнения. Нагрузочное тестирование, хотя и встречается реже, чем функциональное, может быть более увлекательным с технической точки зрения и с точки зрения инженерного любопытства. Интересно наблюдать за графиками и исследовать детали работы конкретного сервиса. Это редкая, но для меня более захватывающая задача. Цель данной статьи — продемонстрировать подход к созданию стенда для нагрузочного тестирования в том виде, в котором пишутся обычные интеграционные тесты: в форме spock-тестов с использованием Testcontainers в среде Gradle проекта. В качестве утилит нагрузочного тестирования используются Gatling, WRK и Yandex.Tank.
-
Разносим по полочкам этапы тестирования http запросов в Spring
В данной статье я бы хотел описать подход к написанию тестов с четким разделением на отдельные этапы, каждый из которых выполняет свою специфическую роль. Это способствует написанию тестов, которые легче читать, понимать и поддерживать. Речь пойдет об использовании методологии Arrange-Act-Assert применительно к интеграционным тестам на Spring Framework с использованием мокирования (mock) HTTP-запросов к внешним ресурсам, к которым идет обращение по ходу выполнения тестируемого кода в рамках поведения системы. Предлагаемые к рассмотрению тесты написаны с использованием Spock Framework на языке Groovy (см. недавнюю статью по этой теме: Тестируем Spring Boot приложения через Spock Framework ). В качестве механизма мокирования будет использоваться MockRestServiceServer. Будет пару слов и о WireMock .