docler-labs / codeception-slim-module
Slim 框架的 Codeception 模块。
4.2.0
2024-03-15 22:16 UTC
Requires
- php: ^8.0
- codeception/codeception: ^5.0
- codeception/lib-innerbrowser: ^3.0 || ^4.0
- slim/psr7: ^1.3
- slim/slim: ^4.7
Requires (Dev)
- ext-json: *
- bamarni/composer-bin-plugin: ^1.8
- codeception/module-asserts: ^3.0
- codeception/module-rest: ^3.0
README
此模块允许您在无需 HTTP 请求的情况下,在 Slim 4 微型框架 内运行功能测试,因此测试将更快,调试也将更简单。
灵感来源于 herloct/codeception-slim-module 库。
安装
最小要求
- php:
^8.0
- slim/slim:
^4.7
- codeception/codeception:
^5.0
如果您不了解 Codeception,请首先查看 快速入门指南。
如果您已经在您的 Slim 应用程序中安装了 Codeception,您可以使用单个 composer 命令添加 codeception-slim-module。
composer require --dev docler-labs/codeception-slim-module
为了支持 PHP 7,请使用 docler-labs/codeception-slim-module:^2.0
版本
composer require --dev docler-labs/codeception-slim-module "^2.0"
如果您使用 Slim v3,请使用库的先前版本
composer require --dev docler-labs/codeception-slim-module "^1.0"
配置
示例(《test/suite/functional.suite.yml》)
modules: enabled: - REST: depends: DoclerLabs\CodeceptionSlimModule\Module\Slim config: DoclerLabs\CodeceptionSlimModule\Module\Slim: application: path/to/application.php
application
属性是返回您的 Slim\App
实例的文件的相对路径。以下是 application.php
的最小内容
require __DIR__ . '/vendor/autoload.php'; use Slim\Factory\AppFactory; $app = AppFactory::create(); // Add routes and middlewares here. return $app;
测试您的 API 端点
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', ] ); } }