macpaw / behat-api-context
Behat Context 用于测试 Symfony Api
v1.3.0
2024-08-29 08:48 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- behat/behat: ^3.0
- macpaw/similar-arrays: ^1.0
- symfony/config: ^4.4 || ^5.4 || ^6.0 || ^7.0
- symfony/dependency-injection: ^4.4 || ^5.4.34 || ^6.0 || ^7.0.2
- symfony/http-client: ^4.4 || ^5.4 || ^6.0 || ^7.0
- symfony/http-kernel: ^4.4 || ^5.4 || ^6.0 || ^7.0
- symfony/routing: ^4.4 || ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.3
- slevomat/coding-standard: ^7.0
- squizlabs/php_codesniffer: ^3.6
Suggests
- doctrine/orm: ^2.0
- dev-develop
- v1.3.0
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- dev-master
- dev-feat/ORC-3198-assert-entity-has-properties
- dev-feat/ORC-1020-Publish-template-packages-to-packagis
- dev-feat/ORC-816-add-orm-context
- dev-feat/api-context-members-visibility
- dev-fix/refactorApiContext
This package is auto-updated.
Last update: 2024-08-29 08:49:36 UTC
README
安装
步骤 1: 下载 Bundle
打开命令行,进入您的项目目录并执行
使用 Symfony Flex 的应用程序 进行中
$ composer require --dev macpaw/behat-api-context
不使用 Symfony Flex 的应用程序
打开命令行,进入您的项目目录并执行以下命令以下载此 Bundle 的最新稳定版本
$ composer require --dev macpaw/behat-api-context
此命令要求您已全局安装 Composer,如 Composer 文档中的安装章节中所述。
然后,通过将 Bundle 添加到项目 app/AppKernel.php
文件中注册的 Bundle 列表来启用该 Bundle
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... BehatApiContext\BehatApiContextBundle::class => ['test' => true], ); // ... } // ... }
步骤 2: 配置 Behat
转到 behat.yml
# ... contexts: - BehatApiContext\Context\ApiContext # ...
如果您想使用 ORM 上下文,请将其添加到 behat.yml
# ... contexts: - BehatApiContext\Context\ORMContext # ...
用法
可运行请求参数
主要用例:当测试需要使用当前日期时。例如,在某个 testCaseName.feature
中的静态数据而不是这样的数据
""" { "dateTo": 1680360081, "dateFrom": 1680532881, } """
可以使用,例如
""" { "dateTo": "<(new DateTimeImmutable())->add(new DateInterval('P6D'))->getTimeStamp()>", "dateFrom": "<(new DateTimeImmutable())->add(new DateInterval('P2D'))->getTimeStamp()>", } """
为此,必须满足几个条件
- 可运行代码必须是一个字符串,并放置在
<>
中 - 不应在开头添加
return
关键字,否则将获得 RuntimeException - 不应在结尾添加
;
关键字,否则将获得 RuntimeException - 不应使用返回
null
的代码,否则将获得 RuntimeException