Пробное тестирование — важная технология тестирования программного обеспечения. Его основная цель — тестирование кода в процессе разработки программного обеспечения. Оно особенно подходит для самотестирования разработки, модульного тестирования или тестирования интерфейса.
Например: иногда при модульном тестировании мы хотим протестировать функцию или метод, но это зависит от других компонентов или внешних ресурсов (таких как базы данных, сетевые службы и т. д.). Эти зависимости могут сделать модульное тестирование сложным, трудоемким или нестабильным. Для решения этой проблемы возникла технология имитационного тестирования.
MockМожет применяться к следующим сценариям:
Короче говоря, симуляционное тестирование — это очень полезная технология тестирования, которая может помочь нам проводить модульное тестирование более эффективно и надежно, тем самым улучшая качество программного обеспечения и эффективность разработки. В современной разработке программного обеспечения симуляционное тестирование стало неотъемлемой частью.
Обычно используетсяизMockИнструментывключатьEasyMock
、jMock
、Mockito
、PowerMock
иJMockit
、 Wiremock
、Mockserver
、Mitmproxy
、Lyrebird
、Anyproxy
ждать。
В следующих основных моментах в качестве примера используется инструмент WireMock.
WireMock — это инструмент тестирования с открытым исходным кодом, который поддерживает заглушку ответов HTTP, проверку запросов, проксирование/перехват, запись и воспроизведение. Наиболее прямое использование — создание Mock Service для веб-/мобильных приложений, быстрое создание прототипов веб-API, моделирование возвратов ошибок в веб-службах, запись HTTP-запросов и воспроизведение.
Пожалуйста, прочитайте официальную документацию для подробного использования:
https://wiremock.org/docs/
Ниже приведены некоторые особенности WireMock:
WireMock может работать как отдельный сервис или быть встроен в тестовый код. Ниже приведены некоторые часто используемые команды WireMock и их использование:
Запустите сервер WireMock. Из командной строки вы можете запустить сервер WireMock, используя следующую команду:
java -jar wiremock-standalone-2.27.2.jar
Wiremock-standalone-2.27.2.jar в приведенной выше команде — это автономный JAR-файл WireMock, вам необходимо заменить его фактическим именем файла и убедиться, что файл находится в текущем каталоге, или указать правильный путь.
По умолчанию WireMock Сервер будет локальным 8080 Порт включен, и вы можете получить к нему доступ через http://localhost:8080/__admin
Приходите и посмотрите WireMock интерфейс управления.
Запустите сервер WireMock на указанном порту. Если вы хотите указать номер порта сервера WireMock, вы можете использовать параметр --port, например:
java -jar wiremock-standalone-2.27.2.jar --port 9090
Приведенная выше команда запустит сервер WireMock на локальном порту 9090.
Начните с указания каталога хранения WireMock Служитьустройство:По умолчанию WireMock Сервер хранит записанные запросы и ответы в памяти. Если вы хотите указать каталог хранения, вы можете использовать --root-dir Параметры, например:
java -jar wiremock-standalone-2.27.2.jar --root-dir /path/to/directory
Приведенная выше команда сохранит информацию о запросе и ответе в указанном каталоге.
Другие параметры: WireMock Также поддерживаются некоторые другие параметры, такие как --https-port используется для указания HTTPS порт, --verbose Используется для включения подробного вывода журнала и т. д. Вы можете сделать это, запустив java -jar wiremock-standalone-2.27.2.jar --help Приходите и посмотрите Все доступноизпараметри Параметры。
С помощью приведенных выше команд и их использования вы можете легко запустить и настроить сервер WireMock в командной строке для тестирования и разработки имитируемых сервисов.
В дополнение к режиму командной строки WireMock также поддерживает WEB-интерфейс визуального управления для облегчения онлайн-обслуживания и управления Mock-данными.
1、Посетите онлайн-сайтhttps://qadoc.cn/wiremock
Выберите недавно добавленный проект и добавьте фиктивные данные.
Если требуется локализованное развертывание, обратитесь к вводному адресу проекта:
https://github.com/ly1012/wiremock-ui