This simple package will load ALL your routes from Slim\App
and make
a Request on them to receive Response to assert expected return http code.
It is not very smart or bullet-proof check, but it will simply tell you: does it run?.
After initial configuration it is almost maintenance-free as it checks any new routes automatically.
Inspired by shopsys/http-smoke-testing THANK YOU!
Via Composer
composer require --dev jdolba/slim-http-smoke-testing
This package internally uses PHPUnit to run the tests. That means that you need to setup your phpunit.xml properly.
Because this package will make a real Request
be sure you are NOT executing this test on production db!
Create new PHPUnit test extending
\JDolba\SlimHttpSmokeTesting\SlimApplicationHttpSmokeTestCase
class and implement setUpSmokeTestAndCallConfigure
and customize
methods.
You can run your new test by:
php vendor/bin/phpunit tests/Smoke/MyAwesomeApplicationSmokeTest.php
Each your route uri + acceptable http method is represented as
\JDolba\SlimHttpSmokeTesting\RequestDataSet
so for example
$app = new \Slim\App();
$app->any('/', function ($request, $response, $args) {
//...
return $response;
});
will be interpreted as 6 independent DataSets, because Slim is using for "any":
['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS']
you can customize passed $request
in your test class using customize
method.
This 6 data sets will have routeName '/'
, but
Please see CHANGELOG for more information on what has changed recently.
$ composer test
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.