Skip to content

herloct/codeception-slim-module

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Codeception Slim Module

Master Build Status Packagist Stable Version Packagist License Libraries.io for GitHub

This module allows you to run tests inside Slim 3 Microframework.
Based on ZendExpressive Module.

Install

Via commandline:

composer require --dev herloct/codeception-slim-module

Via composer.json:

{
  "require-dev": {
    "herloct/codeception-slim-module": "^1.1"
  }
}

Config

Put this on your codeception.yml

modules:
  config:
    \Herloct\Codeception\Module\Slim:
      container: path/to/container.php
    REST:
      depends: \Herloct\Codeception\Module\Slim

Or on your tests/functional.suite.yml

modules:
  enabled:
    - \Helper\Functional
    - \Herloct\Codeception\Module\Slim:
        container: path/to/container.php
    - REST:
        depends: \Herloct\Codeception\Module\Slim

The 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.

API

  • app - instance of \Slim\App
  • container - instance of \Psr\Container\ContainerInterface
  • client - BrowserKit client

Todos

  • Add more acceptance/functional tests other than REST.