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.
You can use the Swagger Test library as:
- Functional test cases
- Contract test cases
- Runtime parameters validator
- Mocking Requests and Validate your specification
Who is using this library?
composer require "byjg/swagger-test"
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
Please raise your issue on Github issue.
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.
flowchart TD
byjg/swagger-test --> byjg/webrequest