Создайте Laravel REST API с помощью разработки через тестирование

API, который придерживается ограничений инженерного стиля REST и учитывает возможность совместной работы с веб-службами RESTful, известен как RESTful API. Изменение состояния иллюстрируется REST в TDD против BDD. В статье обсуждается создание Laravel REST API с помощью Test-Driven Development.

Вы можете создать Laravel REST API, используя разработку через тестирование, установив драйвер JWT по умолчанию, следуя инструкциям по установке, включая методы аутентификации, и используя php artisan make.

Между базой данных и контроллерами он функционирует как слой для преобразования данных. Вы можете преобразовать модели и коллекции в формат JSON, используя ресурсы Laravel Eloquent. Читайте ниже, чтобы узнать больше о создании Laravel REST API с помощью Test-Driven Development.

Что такое REST API?

API передачи репрезентативного состояния — это архитектурный проект или набор концепций для интерфейса прикладной программы (API). REST API можно использовать с помощью HTTP-запросов с типами информации GET, PUT, POST и DELETE, которые означают просмотр, обновление, создание и удаление действий, связанных с ресурсами.

остальные API

Основное преимущество REST заключается в том, что он предлагает большую гибкость и позволяет более эффективно использовать этот API.

В этом руководстве используется Laravel REST API с разработкой через тестирование.

Что такое Ларавель?

Laravel Passport предоставляет полное серверное решение OAuth2 за считанные минуты для вашего приложения Laravel. Создание паспорта возможно через сервер League OAuth2, созданный Энди Миллингтоном и Саймоном Хэмпом. В структуру Laravel включена форма входа. Для реализации аутентификации API и проверки пользователя API им нужны токены.

форма входа в ларавель

В общем, API для Laravel REST API с разработкой через тестирование требуют токен для доступа или аутентификации пользователя. Пакет паспорта Laravel, который поставляется с инфраструктурой Laravel, предлагает комплексную реализацию FTP-сервера OAuth2. Это позволит протестировать конкретную функциональность, а не конкретный фрагмент кода. Примеры включают следующее:

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

Написание кода

Следуйте приведенным ниже шагам при создании Laravel REST API с помощью разработки через тестирование.

Но сначала установите драйвер JWT по умолчанию в настройках аутентификации для запуска. Затем включите следующий код в файл route/api.php.

‘апи’, ‘префикс’ => ‘авторизация’]

функция () {

Route::post(‘authenticate’, ‘AuthController@authenticate’)->name(‘api.authenticate’);

Route::post(‘register’, ‘AuthController@register’)->name(‘api.register’);

});

  1. Настройте модель пользователя аналогично конфигурации драйвера. Он просто реализовал JWTSubject и добавил необходимые методы. модель пользователя
  2. После этого включите методы аутентификации в контроллере. Запустите php artisan make: controller AuthController, чтобы добавить методы. Этот очень простой шаг в Laravel REST API с разработкой через тестирование добавит в контроллер методы аутентификации и регистрации. методы аутентификацииВ методе регистрации проверьте ввод, создайте нового пользователя, используя ввод, а затем на его основе создайте токен для пользователя. Проверьте ввод, попытайтесь войти в систему и, в случае успеха, верните токен в методе аутентификации.
  3. А вот и лучшая часть Laravel REST API с разработкой через тестирование. Чтобы сгенерировать тестовые классы, запустите php artisan make test AuthTest. Новые тесты/Feature/AuthTest теперь должны включать методы. генерировать тестовые случаиОсновная идея тестов заключается в том, что в идеальном мире они должны быть независимы друг от друга и от состояния базы данных. Следует помнить одну вещь: как добавлять и удалять пользователей из каждого теста.
  4. Запустите $vendor/bin/phpunit или $ phpunit на этом этапе, если он установлен глобально. Выполнение этого должно привести к правильным утверждениям. Если это не так, просмотрите журналы, внесите необходимые исправления и повторите тестирование. phpunit
  5. Вы можете добавить элемент для CRUD теперь, когда аутентификатор Microsoft работает. Теперь используйте php artisan create, чтобы добавить модель. затем запустите миграцию. дрянь
  6. Конечные точки теперь требуются для управления рецептами. Сначала создайте контроллер RecipeController, используя php artisan для создания контроллера. Также включите метод create в контроллер. Добавьте создающую конечную точку в файл route/api.php. конечные точки
  7. Код объясняет Laravel REST API с разработкой через тестирование. Генерация токена и регистрация пользователя обрабатывает один метод для создания токена для метода testCreate().тест создать Обратите внимание на использование практичного трейта RefreshDatabase в Laravel, позволяющего легко обновлять базу данных после каждого теста.
  8. Если все пойдет по плану, вы должны найти ошибку в REST API Laravel с разработкой через тестирование. Единственным отличием было добавление пользовательского файла для всего класса, за исключением дополнительного теста. Таким образом, метод аутентификации устанавливает пользовательский файл для последующих действий и создает токен. ошибка
  9. Сделайте $vendor/bin/phpunit, если вы хотите подтвердить только текущий статус ответа. конечный результат

Часто задаваемые вопросы

Какой инструмент используется для TDD?

Программисты могут разрабатывать и тестировать фиктивные объекты, используя автоматизированную среду модульного тестирования Mockito для разработки через тестирование (TDD). Проще говоря, Mockito — это фреймворк, который разработчики используют для быстрого создания различных тестов. Другие инструменты и фреймворки также широко доступны.

Кто пишет тесты в TDD?

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

Подходит ли Laravel для REST API?

Одной из пяти лучших бэкэнд-фреймворков для разработки RESTful API для веб-сайтов по-прежнему является PHP-фреймворк Laravel с открытым исходным кодом. Легко протестировать конечные точки API с помощью удобного набора тестов Laravel.

TDD для разработчиков или тестировщиков?

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

Является ли разработка через тестирование навыком?

Основные навыки программирования, такие как разработка через тестирование (TDD), должны быть выше. Идея TDD заключается в том, чтобы программное обеспечение начало проверять себя. Поскольку модульные тесты автоматизируются и чаще выполняются как часть TDD, качество и надежность программного обеспечения улучшаются.

Каково другое название TDD?

Методология разработки программного обеспечения, разработка через тестирование (TDD), иногда называемая проектированием через тестирование, объединяет модульное тестирование, программирование и переписывание исходного кода.

Заменяет ли TDD модульное тестирование?

Методология разработки программного обеспечения, называемая TDD, сосредоточена на понимании предметной области и выполнении требований. На самом деле цикл TDD включает модульные тесты. Целью базовых модульных тестов является проверка написанного исходного кода и предотвращение ошибок и регрессии.

Заключение

Это все о создании Laravel REST API с разработкой через тестирование. В дизайне Laravel большое внимание уделяется тестированию. В PHPUnit встроена поддержка функционального тестирования Laravel. Каталог Laraveltests содержит утверждения Laravel и вспомогательные функции для TestCase. Следовательно, вы можете легко создать Laravel REST API, написав код, приведенный в статье.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *