movemoveapp / laravel-postmangen
Generation of Postman collection JSON file based on performed HTTP requests during execution of PHPUnit runner
Installs: 1 768
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:laravel-package
Requires
- php: ^7.4|^8.0|^8.1
- ext-json: *
- laravel/framework: ^8.37|^9.0|^10.0
- phpunit/phpunit: ^10.0
README
Laravel Postmangen Package - Laravel пакет генерации Postman коллекции запросов в формате JSON файла на основе запросов, выполняемых во время PHPUnit тестов.
Установка
Вы можете установить пакет через composer:
composer require movemoveapp/laravel-postmangen
Публикация конфигурационного файла. Выполните artisan
команду
php artisan vendor:publish --provider="MoveMoveIo\Postmangen\PostmangenServiceProvider"
Настройка проекта осществляется через файлы .env
и phpunit.xml
вашего проекта. Необходимо указать POSTMANGEN_TMP
- путь для генерации промежуточных файлов относительно корня проекта:
POSTMANGEN_TMP=postman/
A также добавить секцию <extensions>
в phpunit.xml
:
<?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true"> ... <extensions> <bootstrap class="MoveMoveIo\Postmangen\PostmangenPhpunitExtension"> <parameter name="outputDir" value="postman/"/> </bootstrap> </extensions> ... </phpunit>
И, наконец, необходимо добавить PostmangenMiddleware
класс самым первым в список middleware
(app/Http/Kernel.php
):
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
\MoveMoveIo\Postmangen\Phpunit\Phpunit\Phpunit\Phpunit\Middleware\PostmangenMiddleware::class,
// ...
];
// ...
}
Теперь после каждого запуска тестов PHPUnit с использованием phpunit.xml
в указанной директории будет генерироваться
JSON файл <APP_NAME>.postman_collection.json
.