Привет всем, я Юпи.
Как серверный программист, вы должны нести ответственность за написанные вами интерфейсы и обеспечивать их корректность и стабильность. Поэтому тестирование интерфейса также является ключевым звеном в back-end разработке.
Но я считаю, что многие друзья ленятся тестировать интерфейс и находят это хлопотным. Как правило, интерфейсы, написанные самостоятельно, не вызываются сами по себе, а напрямую передаются на проверку фронтенду или другим вызывающим, и если есть проблемы, их можно исправить. Хоть вы и чувствуете себя счастливым, в глазах окружающих у вас уже может быть обида на вас. Не то чтобы вы не отомстили, просто время еще не пришло.
На самом деле тестирование интерфейсов — это несложно. В этой статье мы поделимся некоторыми часто используемыми инструментами тестирования интерфейсов. Некоторые из этих инструментов могут не только помочь вам эффективно тестировать интерфейсы, но даже автоматически генерировать коды интерфейсов и документы интерфейсов!
Вот 4 наиболее часто используемых инструмента тестирования интерфейса, рекомендуемых вам. Что касается того, какой из них использовать, все зависит от ваших предпочтений. Просто используйте его с комфортом.
cURL — мощный инструмент командной строки, который может отправлять различные типы HTTP-запросов в виде команд. Хотя у него нет графического интерфейса, он очень гибкий и любим разработчиками.
Направления: https://curl.se/
Использование cURL также очень просто. Например, чтобы протестировать интерфейс типа запроса GET, вам нужно всего лишь ввести следующую команду:
curl <хотетьтестизинтерфейсадрес>
Для проверки интерфейса типа POST команда выглядит следующим образом:
curl -d '{"name":"yupi"}'
-H "Content-Type: application/json"
<хотетьтестизинтерфейсадрес>
который использует -d
Представление вариантовхотетьотправлятьизданные,-H
Возможность установить заголовок запроса и указать отправку JSON данные.
Вышеупомянутое просто cURL Базовое использование, он также поддерживает множество дополнительных параметров, но их не нужно запоминать. Обычно, когда мы вызываем интерфейсы других людей, мы можем сначала F12 Найдите запрос в инструментах разработчика и нажмите к cURL форматировать копию
можно использовать напрямую curl Заказал.
Настоятельно рекомендуется всем научиться использовать cURL, особенно разработчикам Linux. Этот инструмент очень полезен в сценариях, где нет графического интерфейса.
Несколько лет назад я мог бы порекомендовать всем использовать программное обеспечение для тестирования графического интерфейса, такое как Postman, но сейчас времена изменились, и все больше и больше отечественных инструментов тестирования интерфейса намного превосходят Postman по своим возможностям.
Например, то, что я использую Apifox, это очень мощный API дизайн + развивать + Тестируйте все в одном
инструменты для совместной работы.
Как добраться: http://apifox.com/b2liyupi
Первый — поддержка импорта данных интерфейса в более чем 20 форматах и быстрая визуализация информации об интерфейсе:
Затем вы можете отлаживать интерфейс одним щелчком мыши.,Даже если ваш локальный серверный сервер не запущен,Вы также можете пройти Mock Функция для быстрого создания данных моделирования!
Apifox Существует также очень мощная возможность поддержки генерации на основе информации об интерфейсе. 130 Несколько языков и фреймворков кода! То есть, да,Можно сначала согласовать фронтенд и написать его,Затем напрямую сгенерируйте код для внешней отладки.
Я пока не буду вводить дополнительные функции. Заинтересованные студенты могут изучить их самостоятельно.
IntelliJ IDEA прогрессинструмент имеет встроенный HTTP Client инструмент, который позволяет производить IDE Создавайте, управляйте и отправляйте прямо в HTTP запрос и просмотрите ответ.
Использование очень простое, сначала введите IDE из Tools => HTTP Клиент, нажмите, чтобы создать запрос:
Поддержка будет cURL Преобразовать в HTTP Запрос, видимый cURL изстатус
Затем войдите в интерфейс редактирования запроса,Сначала я не знаком с синтаксисом и словами написания запросов.,Вы можете нажать на верхний правый угол, чтобы импортировать примеры и запросить информацию:
Например, импортируйте пример запроса GET:
Затем нажмите зеленую стрелку, чтобы отправить запрос на тестирование интерфейса, и вы увидите подробную информацию об ответе:
Но лично мне такой способ тестирования интерфейса не нравится. Писать код уже очень утомительно, а тестовый интерфейс всё равно требует от меня написания кода? ? ?
Swagger даа известный из API Проект с открытым исходным кодом. Раньше многих студентов беспокоило Swagger из Распознавание может остановиться только на генерации интерфейсных документов, то есть на картинке ниже из Swagger UI
,Вы можете просматривать и отлаживать информацию онлайн.
Направления: https://swagger.io/tools/swagger-ui/
Но на самом деле Сваггер UI только Swagger из Одна из функций Swagger Также включено Swagger Editor Редактор интерфейса, Swagger Codegen Мощные инструменты, такие как генераторы кода.
Строго говоря, Сваггер да набор Полный API развиватьинструмент, давайте сделаем это в едином интерфейсе API дизайн、интерфейсразвивать、интерфейстест、документ Генерация и другие функции,Значительно улучшена производительность и эффективность.
В общем, вам нужно только внедрить его в проект. Swagger Зависимости описываются аннотациями API изинформация,Толькокиспользовать его дляинтерфейстестидокумент Сгенерировано。
Но вообще то я лично им напрямую давно не пользовался Swagger , и да выберет его из расширенной версии Knife4j
для создания интерфейсных документов. Если хочешь сказать причину, просто да Swagger интерфейс по умолчанию немного шутовской, а API Если их будет слишком много, управляться будет хлопотно.
Почувствуй это:
Knife4j даа на основе Swagger из инструмента Enhance,Он обеспечивает более красивый интерфейс и больше функций.,позволятьинтерфейстестидокумент Генерируйте более эффективно。
Как добраться: https://doc.xiaominfo.com/
Knife4j Использование из очень простое. Согласно официальному документу, сначала в соответствии с вашим собственным проектом. Spring Boot Введение версии соответствует зависимостям, таким как Spring Boot 2.x Рекомендуется использовать следующие Maven Конфигурация:
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
затем в Spring Boot из файла конфигурации application.yml
Добавить Knife4j Сопутствующие конфигурации, такие как:
knife4j:
enable: true
openapi:
title: Knife4j документ
Наконец, посетите Knife4j издокументадрес(в целомдапроектадрес + /doc.html
),Вы можете просмотреть автоматический Controller интерфейскодигенерироватьизинтерфейсдокумент。
Образец документа следующий:
Выберите определенный интерфейс, и вы сможете отлаживать онлайн:
Конечно, потому что Knife4j Нижний слой также зависит от Swagger из, так что ты все еще можешь использовать его Swagger Аннотации для настройки информации интерфейса.
Например, следующий код использует Swagger из @Api и @ApiOperation Добавить аннотацию кинтерфейсдобавить имяиописыватьинформация:
@RestController
@RequestMapping("/api/posts")
@Api(tags = «Почтовое управление»)
public class PostController {
@PostMapping
@ApiOperation(value = «Создать публикацию», notes = "за создание новых постов")
public ResponseEntity<String> createPost(@RequestBody PostRequest postRequest) {
// Реализуйте логику создания поста здесь
return ResponseEntity.ok("Сообщение создано успешно");
}
}
Это можетпозволятьгенерироватьизинтерфейсдокумент Более понятно,Вместо большого количества английского.
Подводя итог, я лично рекомендую метод внешней отладки cURL、Apifox и Knife4j из комбинации: