Изучите эти методы проверки Apifox, чтобы сделать ваши данные более надежными
Изучите эти методы проверки Apifox, чтобы сделать ваши данные более надежными

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

использовать Apifox Он может автоматически проверять, стандартизирована ли структура данных, возвращаемая интерфейсом, без необходимости вручную писать сценарии проверки для обнаружения. Далее будет представлена ​​практическая демонстрация на примере сценария.

Практический сценарий

Предположим, существует следующий сценарий:

У объекта есть два свойства:

  • тип: строка перечисления
  • значения: массив массив

Теперь требуется:

  • type Значение fixed час,values Длина 1;
  • type Значение range час,values Длина 2;
  • type Значение other час,values Ограничения по длине нет.

В этой индивидуальной сцене,как Apifox на основе type предел значения values длина, чтобы возвращался ответ об ошибке, когда отношения между ними не могут совпадать?

Сначала перечислите все возможные спецификации структуры данных в соответствии с требованиями:

Язык кода:txt
копировать
// Первый тип
Язык кода:txt
копировать
{
Язык кода:txt
копировать
  "type": "fixed",
Язык кода:txt
копировать
  "values": ["1"]
Язык кода:txt
копировать
}
Язык кода:txt
копировать
// Второй вид
Язык кода:txt
копировать
{
Язык кода:txt
копировать
  "type": "range",
Язык кода:txt
копировать
  "values": ["1","2"]
Язык кода:txt
копировать
}
Язык кода:txt
копировать
// Третий вид
Язык кода:txt
копировать
{
Язык кода:txt
копировать
  "type": "other",
Язык кода:txt
копировать
  "values": ["1","2","89","67"]
Язык кода:txt
копировать
}

Определить обратный ответ

Согласно требованиям, между ожидаемыми данными ответа и возвращенным ответом существуют следующие три соответствующие ситуации. В противном случае будет возвращен ошибочный ответ.

Спецификация 1: Успешный ответ на фиксированные параметры

Установите тип строкового типа, добавьте значение перечисления к фиксированному; установите значения типа массива и ограничьте количество выводимых элементов только 1, а элементы внутри него имеют строковый тип.

картина
картина

Спецификация 2: Параметр диапазона отвечает успешно

Установите тип типа строки, добавьте значение перечисления в диапазон; установите значения типа массива и ограничьте его максимальное и минимальное количество элементов до 2, а элементы внутри него должны быть строкового типа.

картина
картина

Спецификация 3: На другой параметр успешно ответили

Установите тип типа строки и добавьте значение перечисления к другому; установите значения типа массива без ограничений на максимальное и минимальное количество элементов, а элементы внутри него имеют строковый тип.

картина
картина

После определения примера успешного ответа,использовать Время, когда делается запрос через интерфейс,Вы можете определить, соответствуют ли возвращенные данные интерфейса спецификации, по статусу ответа.

Подготовка данных сцены

Можетиспользовать Apifox изРасширенная функциональность Mockимитироватьинтерфейсданные。Судя по описанию сцены,мы должныдляего определение 5 разные типы Mock данные, разделенные на 3 успешная проверка, 2 Неудачная проверка.

Выберите «Режим документа», нажмите «Расширенный макет» и создайте новое желание.

картина
картина

1. Добавьте ожидание, что «когда значение типа фиксировано, длина значения равна 1»:

картина
картина

2. Добавьте ожидание, что «когда значением типа является диапазон, длина значения равна 2»:

картина
картина

3. Добавлено ожидание, что «когда значение типа другое, значения не имеют ограничения по длине»:

картина
картина

4. Добавлено «Когда type Значение fixed час values длинаНе 1」изожидать:

картина
картина

5. Добавлено «Когда type Значение range час values длинаНе для двоих」изожидать:

картина
картина

После завершения определения фиктивных данных можно вызвать интерфейс и проверить спецификации структуры данных в возвращенном ответе.

Данные ответа на проверку

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

Проверка «Спецификация 1»

В «Спецификации 1» требуется, чтобы type из Значение fixed час,values множествосерединаВывод только 1 значенияТалантливое видениедляпроходитьданныепроверка структуры:

картина
картина

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

картина
картина

если values из Значение null или более чем 1 индивидуальный,Проверка структуры данных также сообщит об ошибке:

картина
картина

Проверка «Спецификация 2»

В «Спецификации 2» требуется, чтобы typeиз Значение range час,values множествосерединаТолько вывод 2 индивидуальныйчислоценитьТалантливое видениедляпроходитьданныепроверка структуры:

картина
картина

если type Значение не диапазон, возвращаемая структура данных имеет ошибку проверки:

картина
картина

если values из Значение null или нет для 2 индивидуальныйценить,Проверка структуры данных также сообщит об ошибке:

картина
картина

Проверка «Стандарт 3»

Требования «Стандарта 3» относительно мягкие. typeиз Значение other час, что угодно values Независимо от того, сколько значений будет выведено в массив, они будут считаться прошедшими проверку структуры данных:

картина
картина

если type Значение не в противном случае возвращаемая проверка структуры данных также сообщит об ошибке:

картина
картина

Подвести итог

Согласно приведенному выше случаю, мы можем понять, что в Apifox Очень удобно определять структуры данных и проверять, стандартизированы ли данные интерфейса. Хотите узнать больше сопутствующих знаний, таких как импорт интерфейса, Mock Для таких функций, как данные и автоматическое тестирование, нажмите бесплатноиспользовать

Расширение знаний: дополнительные советы по использованию

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