Codeception Module for Slim framework.

4.1.0 2023-03-18 18:59 UTC

This package is auto-updated.

Last update: 2023-03-18 19:01:28 UTC


Build Status PHPStan Level

This module allows you to run functional tests inside Slim 4 Microframework without HTTP calls, so tests will be much faster and debug could be easier.

Inspiration comes from herloct/codeception-slim-module library.


Minimal requirements

  • php: ^8.0
  • slim/slim: ^4.7
  • codeception/codeception: ^5.0

If you don't know Codeception, please check Quickstart Guide first.

If you already have Codeception installed in your Slim application, you can add codeception-slim-module with a single composer command.

composer require --dev docler-labs/codeception-slim-module

For PHP 7 support, please use docler-labs/codeception-slim-module:^2.0 version

composer require --dev docler-labs/codeception-slim-module "^2.0"

If you use Slim v3, please use the previous version from library:

composer require --dev docler-labs/codeception-slim-module "^1.0"


Example (test/suite/functional.suite.yml)

    - REST:
        depends: DoclerLabs\CodeceptionSlimModule\Module\Slim

      application: path/to/application.php

The application property is a relative path to file which returns your Slim\App instance. Here is the minimum application.php content:

require __DIR__ . '/vendor/autoload.php';

use Slim\Factory\AppFactory;

$app = AppFactory::create();

// Add routes and middlewares here.

return $app;

Testing your API endpoints

class UserCest
    public function getUserReturnsWithEmail(FunctionalTester $I): void
        $I->haveHttpHeader('Content-Type', 'application/json');


                'email' => '',