A library for testing web APIs with PHPUnit.
Please ⭐ star this project!
This requirement could potentially be relaxed to older version of PHP upon request.
git clone https://github.com/jamesjohnmcguire/ApiTest
composer require --dev https://packagist.org/packages/digitalzenworks/api-test
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:
Type: | Parameter: |
---|---|
string | The HTTP method to use. |
string | The API end point. |
?string | The request data. |
bool or string | The data type. True, |
if it is multipart form | |
data. Implying some of | |
the data may be binary. | |
If it is false, it will | |
of 'form_params'. If it | |
is a string, the string | |
indicates the type of | |
data ('body', 'json', | |
'form_params', 'query', | |
'form_params'). |
This uses Guzzle to process the API request.
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".
- 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
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
Distributed under the MIT License. See LICENSE
for more information.
James John McGuire - @jamesmc - jamesjohnmcguire@gmail.com
Project Link: https://github.com/jamesjohnmcguire/ApiTest