Порекомендуйте несколько часто используемых инструментов макетного тестирования!
Порекомендуйте несколько часто используемых инструментов макетного тестирования!

Пробное тестирование — важная технология тестирования программного обеспечения. Его основная цель — тестирование кода в процессе разработки программного обеспечения. Оно особенно подходит для самотестирования разработки, модульного тестирования или тестирования интерфейса.

Например: иногда при модульном тестировании мы хотим протестировать функцию или метод, но это зависит от других компонентов или внешних ресурсов (таких как базы данных, сетевые службы и т. д.). Эти зависимости могут сделать модульное тестирование сложным, трудоемким или нестабильным. Для решения этой проблемы возникла технология имитационного тестирования.

MockМожет применяться к следующим сценариям:

  • Имитация внешних зависимостей:моделированиетестможет помочь нам Имитация внешних зависимостей, таких как доступ к библиотеке данных, сетевые запросы и т. д., что делает модульный тест более независимым, надежным и быстрым. от Имитация внешних зависимостей,Мы можем сосредоточиться на проверке текущей единицы измерения функции.,Нет необходимости беспокоиться о состоянии и доступности внешних зависимостей.
  • Изолированная тестовая среда:моделированиетестможет помочь нам Изолированная тестовая окружающей среды, чтобы гарантировать, что тест не окажет влияния на реальные внешние ресурсы. Это особенно важно для некоторых чувствительных или дорогостоящих внешних ресурсов (таких как производственные библиотеки, платежные системы и т. д.).
  • Тестовые граничные условия:моделированиетестможет помочь намтест Некоторые граничные условия и исключения,Например, смоделированный тайм-аут сети, сбой подключения к библиотеке данных и т. д.,Это гарантирует правильную обработку кода при различных обстоятельствах.

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

Часто используемые инструменты макетного тестирования

Обычно используетсяизMockИнструментывключатьEasyMockjMockMockitoPowerMockиJMockitWiremockMockserverMitmproxyLyrebirdAnyproxyждать。

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

WireMock

WireMock — это инструмент тестирования с открытым исходным кодом, который поддерживает заглушку ответов HTTP, проверку запросов, проксирование/перехват, запись и воспроизведение. Наиболее прямое использование — создание Mock Service для веб-/мобильных приложений, быстрое создание прототипов веб-API, моделирование возвратов ошибок в веб-службах, запись HTTP-запросов и воспроизведение.

Пожалуйста, прочитайте официальную документацию для подробного использования:

Язык кода:javascript
копировать
https://wiremock.org/docs/

Ниже приведены некоторые особенности WireMock:

  • Может моделировать поведение тестера в среде,Для облегчения разработки и тестирования.
  • Мок можно создать API, позволяющий выполнять тесты без реального Служитьиз.
  • Поддерживает заглушки ответов HTTP, которые могут возвращать смоделированные ответы в соответствии с заданными правилами.
  • Поддерживает проверку запроса, которая позволяет проверить, соответствует ли запрос ожиданиям.
  • Поддерживает прокси/перехваты, которые могут вмешиваться между запросами и ответами.
  • Поддерживает запись и воспроизведение,Может регистрировать запросы и ответы,И повторно использовано в последующих испытаниях.

WireMock может работать как отдельный сервис или быть встроен в тестовый код. Ниже приведены некоторые часто используемые команды WireMock и их использование:

Запустите сервер WireMock. Из командной строки вы можете запустить сервер WireMock, используя следующую команду:

Язык кода:javascript
копировать
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, например:

Язык кода:javascript
копировать
java -jar wiremock-standalone-2.27.2.jar --port 9090

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

Начните с указания каталога хранения WireMock Служитьустройство:По умолчанию WireMock Сервер хранит записанные запросы и ответы в памяти. Если вы хотите указать каталог хранения, вы можете использовать --root-dir Параметры, например:

Язык кода:javascript
копировать
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 UI

В дополнение к режиму командной строки WireMock также поддерживает WEB-интерфейс визуального управления для облегчения онлайн-обслуживания и управления Mock-данными.

1、Посетите онлайн-сайтhttps://qadoc.cn/wiremock

Выберите недавно добавленный проект и добавьте фиктивные данные.

Если требуется локализованное развертывание, обратитесь к вводному адресу проекта:

Язык кода:javascript
копировать
https://github.com/ly1012/wiremock-ui
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода