This module allows you to run tests inside Slim 3 Microframework.
Based on ZendExpressive Module.
Via commandline:
composer require --dev herloct/codeception-slim-moduleVia composer.json:
{
  "require-dev": {
    "herloct/codeception-slim-module": "^1.1"
  }
}Put this on your codeception.yml
modules:
  config:
    \Herloct\Codeception\Module\Slim:
      container: path/to/container.php
    REST:
      depends: \Herloct\Codeception\Module\SlimOr on your tests/functional.suite.yml
modules:
  enabled:
    - \Helper\Functional
    - \Herloct\Codeception\Module\Slim:
        container: path/to/container.php
    - REST:
        depends: \Herloct\Codeception\Module\SlimThe container properties is a relative path to file which returns your App's Container.
Here is the minimum container.php contents.
require __DIR__.'/vendor/autoload.php';
use Psr\Container\ContainerInterface;
use Slim\App;
use Slim\Container;
$container = new Container([
    App::class => function (ContainerInterface $c) {
        $app = new App($c);
        // routes and middlewares here
        return $app;
    }
]);
return $container;You could use this Sample Project as a reference.
- app -  instance of \Slim\App
- container - instance of \Psr\Container\ContainerInterface
- client - BrowserKit client
- Add more acceptance/functional tests other than REST.