mathrix-education/openapi-assertions

验证 PSR-7 请求是否与 OpenAPI 规范一致。基于 league/openapi-psr7-validator。

1.0.0 2019-12-13 20:24 UTC

This package is not auto-updated.

Last update: 2024-09-16 10:23:51 UTC


README

version license php-version

Mathrix Education SA 所有 PHP 项目的基库。

允许您将 API 响应与 OpenAPI v3 规范进行测试。由 Mathieu Bour mathieu@mathrix.fr(副首席技术官)自豪地维护。

该库高度依赖于 league/openapi-psr7-validator,之前为 lezhnev74/openapi-psr7-validator

Lumen

为了使用 Lumen 中的 OpenAPI 断言,您需要安装 symfony/psr-http-message-bridge 和 nyholm/psr7。您可以通过以下方式完成

composer require --dev nyholm/psr7 symfony/psr-http-message-bridge

然后,将 LumenOpenAPIAssertions 特性添加到您的基 TestCase 中,如下所示

use \Mathrix\OpenAPI\Assertions\Lumen\LumenOpenAPIAssertions;

class TestCase extends LumenTestCase {
    use LumenOpenAPIAssertions;
    
    public static function setupBeforeClass()
    {
        self::$openAPISpecificationPath = PATH_TO_SPEC_YAML;
        self::bootLumenOpenAPIAssertions();
    }
}

使用方法

要测试 Illuminate 响应是否与规范匹配,只需运行

class TestBar extends TesCase {
    public function testFoo() {
        // Your test code
        $this->assertOpenAPIResponse($response); // Where response extends \Illuminate\Http\Response
    }
}