movemoveapp / laravel-postmangen
基于执行 PHPUnit 运行器期间执行的 HTTP 请求生成 Postman 集合 JSON 文件
v1.1.6
2023-12-27 10:47 UTC
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 包 - Laravel 包,用于根据 PHPUnit 测试中执行的请求生成 JSON 格式的 Postman 集合请求文件。
安装
您可以通过 composer 安装此包
composer require movemoveapp/laravel-postmangen
发布配置文件。执行 artisan 命令
php artisan vendor:publish --provider="MoveMoveIo\Postmangen\PostmangenServiceProvider"
项目配置通过项目中的 .env 和 phpunit.xml 文件进行。需要指定 POSTMANGEN_TMP - 相对于项目根目录的中间文件生成路径
POSTMANGEN_TMP=postman/
此外,还需要在 phpunit.xml 中添加 <extensions> 部分
<?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>
最后,需要在 app/Http/Kernel.php 中的 middleware 列表中首先添加 PostmangenMiddleware 类
<?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.xml 启动 PHPUnit 测试后,都会生成 JSON 文件 <APP_NAME>.postman_collection.json。