mathrix / openapi-assertions
该包已被弃用,不再维护。作者建议使用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自豪地维护,他是副总裁CTO。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 trait添加到您的基础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 } }