herloct / codeception-slim-module
Codeception Module for Slim 3 Microframework.
Installs: 127 829
Dependents: 5
Suggesters: 0
Security: 0
Stars: 27
Watchers: 2
Forks: 4
Open Issues: 1
Requires
- php: ^5.6 || ^7.0
Requires (Dev)
- php: ^5.6 || ^7.0
- codeception/codeception: ^2.2
- slim/slim: ^3.5
This package is not auto-updated.
Last update: 2024-11-09 20:50:48 UTC
README
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.