mathrix-education / openapi-assertions
验证 PSR-7 请求是否与 OpenAPI 规范一致。基于 league/openapi-psr7-validator。
1.0.0
2019-12-13 20:24 UTC
Requires
- php: >=7.1
- league/openapi-psr7-validator: ^0.5.1
- phpunit/phpunit: ^7.0 || ^8.0
Requires (Dev)
- laravel/lumen-framework: 5.7.* || 5.8.* || ^6.0
- mathrix-education/coding-standard: ^1.0.0
- nyholm/psr7: ^1.1
- symfony/psr-http-message-bridge: ^1.2
Suggests
- nyholm/psr7: Required to convert Symfony Response to PSR7 Response (Lumen)
- symfony/psr-http-message-bridge: Required to convert Symfony Response to PSR7 Response (Lumen)
README
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 } }