awojakowski / doctrine-data-fixtures-extension
Behat 的 Doctrine 数据固定扩展
Requires
- php: ^8.0
- behat/behat: ^3.4
- doctrine/data-fixtures: ^1.6
- doctrine/orm: ^2.6
- friends-of-behat/mink: ^1.10
- friends-of-behat/mink-browserkit-driver: ^1.6
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/symfony-extension: ^2.4
- symfony/dependency-injection: ^6.2
Requires (Dev)
- adamquaile/behat-command-runner-extension: ^0.1.1
- doctrine/doctrine-bundle: ^2.0
- doctrine/doctrine-fixtures-bundle: ^3.0
- symfony/process: ^3.4|^4.0
- symfony/var-dumper: 5.4.*
Suggests
- doctrine/migrations: Uses DBAL to load versioned database schema and migration classes
- symfony/process: For backup support on pgsql or mysql platforms
This package is not auto-updated.
Last update: 2024-09-23 18:42:02 UTC
README
此扩展通过在场景和功能之间重新加载 ORM 数据固定来提高功能测试的隔离性。
安装
composer require "behat-extension/doctrine-data-fixtures-extension"
配置
在您的 behat.yml 中激活扩展并定义要加载的任何固定
# behat.yml default: # ... extensions: BehatExtension\DoctrineDataFixturesExtension\Extension: lifetime: 'feature' directories: ~ fixtures: ~
当 lifetime 设置为 "feature"(或未指定)时,数据固定将在功能文件之间重新加载。另请选择,当 lifetime 设置为 "scenario" 时,数据固定将在场景之间重新加载(即,以增加运行时间为代价提高测试隔离性)。
当 fixtures 设置时,扩展将加载指定的固定类。这必须包含一个完全限定的类名列表。类不得有任何构造函数参数(或至少是可选的)。如果实现了接口 Symfony\Component\DependencyInjection\ContainerAwareInterface
,则容器设置为固定加载器。
当 directories 设置时,扩展将加载从相应目录中 glob 的数据固定。类不得有任何构造函数参数(或至少是可选的)。如果实现了接口 Symfony\Component\DependencyInjection\ContainerAwareInterface
,则容器设置为固定加载器。
此扩展还将加载所有声明为服务并带有 doctrine.fixture.orm
标签的固定。
# behat.yml default: # ... extensions: BehatExtension\DoctrineDataFixturesExtension\Extension: lifetime: 'feature' directories: - '/project/src/AcmeAnalytics/Tests/DataFixtures/ORM' fixtures: - 'Acme\StoreBundle\DataFixture\ORM\Categories' - 'Acme\StoreBundle\DataFixture\ORM\Apps' - 'Acme\VendorBundle\DataFixture\ORM\Vendors'
备份系统
为了加快测试速度,有一个可用的备份系统。整个数据库将设置为缓存,并在需要时重新加载。您应该定期清除缓存,因为它无法检测数据固定内容的变化,因为哈希值基于数据固定类名的集合。
此功能仅适用于 SQLite、MySQL 和 PostgreSQL。
- 对于 MySQL,必须可用
mysql
和mysqldump
。 - 对于 PostgreSQL,必须可用
pg_restore
和pg_dump
。
默认启用。要禁用它,只需在扩展配置中设置 use_backup: false
即可。
# behat.yml default: # ... extensions: BehatExtension\DoctrineDataFixturesExtension\Extension: lifetime: 'feature' use_backup: false
源代码
Github: https://github.com/BehatExtension/DoctrineDataFixturesExtension
从 https://github.com/vipsoft/DoctrineDataFixturesExtension 分叉而来
版权
- 版权所有 (c) 2012 Anthon Pang。
- 版权所有 (c) 2016-2018 Florent Morselli。
有关详细信息,请参阅 LICENSE。