Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DoclerLabs/codeception-slim-module

Repository files navigation

DoclerLabs - Codeception Slim Module

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.

Install

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"

Configuration

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

modules:
 enabled:
 - REST:
 depends: DoclerLabs\CodeceptionSlimModule\Module\Slim
 config:
 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');
 $I->sendGET('/users/John');
 $I->seeResponseCodeIs(200);
 $I->seeResponseContainsJson(
 [
 'email' => 'john.doe@example.com',
 ]
 );
 }
}

About

Codeception module to write functional tests with Slim framework integration.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

AltStyle によって変換されたページ (->オリジナル) /