byjg/swagger-test

A set of tools for testing your REST calls based on the Swagger or OpenAPI documentation using PHPUnit

4.9.1 2023-12-30 20:49 UTC

This package is auto-updated.

Last update: 2024-04-14 20:28:41 UTC


README

Build Status Opensource ByJG GitHub source GitHub license GitHub release Scrutinizer Code Quality

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 like callbacks, links and references to external documents/objects weren't implemented.

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 a previously Swagger JSON file (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.

Use cases for PHP Swagger test

You can use the Swagger Test library as:

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

Questions?

Please raise your issue on Github issue.

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.

Dependencies

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

Open source ByJG