digitalzenworks / api-test
A library for end to end testing web APIs with PHPUnit.
Fund package maintenance!
jamesjohnmcguire
Requires
- php-http/guzzle7-adapter: ^1.0
- phpunit/phpunit: ^10.0 || ^11.0
Requires (Dev)
README
A library for testing web APIs with PHPUnit.
Please ⭐ star this project!
Getting Started
Requirements/dependencies
This requirement could potentially be relaxed to older version of PHP upon request.
Installation
Git
git clone https://github.com/jamesjohnmcguire/ApiTest
Composer
composer require --dev https://packagist.org/packages/digitalzenworks/api-test
Usage:
There is one main class with one main method. You can call it like this:
require_once 'vendor/autoload.php'; use DigitalZenWorks\ApiTest\ApiTester; final class UnitTests extends TestCase { public function testApiEndPointAccountCount() { $data = []; $apiTester = new APITester('https://example.com'); $response = $this->apiTester->testApiEndPoint('PUT', 'accounts_count', $data); $this->assertIsArray($response); } )
The main method parameters are:
Additional Notes
This uses Guzzle to process the API request.
Contributing
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Process:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Coding style
Please match the current coding style. Most notably:
- One operation per line
- Use complete English words in variable and method names
- Attempt to declare variable and method names in a self-documenting manner
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
James John McGuire - @jamesmc - jamesjohnmcguire@gmail.com
Project Link: https://github.com/jamesjohnmcguire/ApiTest