elbformat / symfony-behat-bundle
为 symfony 应用程序预定义的可扩展 behat 环境。
v1.5.7
2024-02-19 16:27 UTC
Requires
- php: >=8.1
- ext-dom: *
- ext-json: *
- behat/behat: ^3.8
- friends-of-behat/symfony-extension: ^2.2
- symfony/dom-crawler: ^5.4|^6.2
- symfony/property-access: ^5.4|^6.2
Requires (Dev)
- doctrine/orm: ^2.12
- friendsofphp/php-cs-fixer: ^3.3
- phpunit/phpunit: ^9.5
- slope-it/clock-mock: ^0.4.0
- symfony/framework-bundle: ^5.4|^6.2
- symfony/http-client: ^5.4|^6.2
- symfony/mailer: ^5.4|^6.2
- vimeo/psalm: ^4.13
- dev-main
- v1.5.7
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- dev-renovate/major-symfony
- dev-renovate/codecov-4.x
- dev-array_support
- dev-renovate/doctrine-orm-3.x
- dev-command-input
- dev-renovate/phpunit-phpunit-11.x
- dev-abstrac-api-fixes
- dev-abstract-database-constructor
- dev-did-you-mean-subtree
- dev-renovate/php-8.x
- dev-sf-54-logger
- dev-fix-di-config
- dev-renovate/vimeo-psalm-5.x
- dev-features-v1.5
- dev-renovate/codecov-3.x
- dev-upload-fix
- dev-fix-tag-content-trim
- dev-monolog-fix
- dev-Tests-JSON-Order-doesnt-matter
- dev-renovate/hgiesenow-php-8.x
- dev-matrix-jobs
This package is auto-updated.
Last update: 2024-09-21 06:47:53 UTC
README
本扩展包为 symfony 应用程序提供可重用的 behat 环境。所有步骤均以现在时态编写,如https://automationpanda.com/2021/05/11/should-gherkin-steps-use-past-present-or-future-tense/所述。
功能
- CommandContext 用于测试 symfony 命令。
- DateContext 用于模拟当前日期。
- FormContext 用于测试/操作/填充 HTML 表单。
- HtmlContext 用于检查 DOM/纯文本 HTTP 响应。
- HttpContext 用于简单的 HTTP 交互。
- JsonContext 用于发送或检查请求/响应中的 JSON 数据。
- LoggingContext 用于验证正确的日志记录。
- MailerContext 用于检查是否触发了邮件。
- AbstractApiContext 用于帮助实现外部 API 交互的自定义环境。
- AbstractDatabaseContext 用于帮助实现具有数据库交互的自定义环境。
安装
将 composer 需求作为开发依赖项添加。
$ composer require --dev elbformat/symfony-behat-bundle
在您的 config/bundles.php
中激活扩展包。
Elbformat\SymfonyBehatBundle\ElbformatSymfonyBehatBundle::class => ['test' => true],
根据需要使用 behat.yml
中的环境。
default: extensions: FriendsOfBehat\SymfonyExtension: bootstrap: tests/bootstrap.php kernel: path: src/Kernel.php class: App\Kernel environment: behat debug: false suites: default: contexts: - Elbformat\SymfonyBehatBundle\Context\CommandContext - Elbformat\SymfonyBehatBundle\Context\DateContext - Elbformat\SymfonyBehatBundle\Context\FormContext - Elbformat\SymfonyBehatBundle\Context\HtmlContext - Elbformat\SymfonyBehatBundle\Context\HttpContext - Elbformat\SymfonyBehatBundle\Context\JsonContext - Elbformat\SymfonyBehatBundle\Context\LoggingContext - Elbformat\SymfonyBehatBundle\Context\MailerContext
邮件
要使 Test-Mailer 正常工作,您需要在 config/packages/mailer.yaml
中设置邮件发送者 dsn。
when@test:
framework:
mailer:
dsn: 'test://test'
API
要避免向真实 API 发送请求,您应配置 config/packages/framework.yaml
中使用的 MockClient。
when@test:
framework:
http_client:
mock_response_factory: Elbformat\SymfonyBehatBundle\HttpClient\MockClientCallback
示例
示例可以在 dock/examples.md 中找到。
更新
当从先前版本更新时,请查看 changelog 了解更改。
接下来是什么?
下一个版本可能包含更多测试/稳定性改进。
开发
如果您想开发该扩展包,您将在 doc/development.md 中找到有用的信息。