byjg/swagger-test

A set of tools for testing your REST calls based on the OpenApi specification using PHPUnit. Currently, this library supports the OpenApi specifications 2.0 (formerly swagger) and 3.0.

Fund package maintenance!
byjg

Installs: 367 669

Dependents: 4

Suggesters: 0

Security: 0

Stars: 101

Watchers: 4

Forks: 34

Open Issues: 14

pkg:composer/byjg/swagger-test

5.0.0 2024-10-27 21:23 UTC

README

Sponsor Build Status Opensource ByJG GitHub source GitHub license GitHub release

A set of tools for testing your REST calls based on the OpenApi specification using PHPUnit. Currently, this library supports the OpenApi specifications 2.0 (formerly swagger) and 3.0.

Some features of the OpenAPI specification are not fully implemented:

  • Callbacks (OpenAPI 3.0)
  • Links (OpenAPI 3.0)
  • References to external documents/objects
  • Complex schema validations

For details on the schema classes and their specific features, see Schema Classes.

PHP Swagger Test can help you to test your REST API. You can use this tool both for Unit Tests or Functional Tests.

This tool reads an OpenAPI/Swagger specification in JSON format (not YAML) and enables you to test the request and response. You can use the tool "https://github.com/zircote/swagger-php" for creating the JSON file when you are developing your REST API.

The ApiTestCase's assertion process is based on throwing exceptions if some validation or test failed.

Documentation

Who is using this library?

Install

composer require "byjg/swagger-test"

Tests

SPEC=swagger php -S 127.0.0.1:8080 tests/rest/app.php &
SPEC=openapi php -S 127.0.0.1:8081 tests/rest/app.php &
vendor/bin/phpunit

References

This project uses the byjg/webrequest component. It implements the PSR-7 specification, and a HttpClient / MockClient to do the requests. Check it out to get more information.

Questions?

Please raise your issue on Github issue.

Dependencies

flowchart TD
    byjg/swagger-test --> byjg/webrequest
Loading

Open source ByJG