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

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

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

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
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose