ahilles107 / doctrine-data-fixtures-extension
Behat的Doctrine数据固定扩展
Requires
- php: ^7.1 | ^8.0
- behat/behat: ^3.0
- behat/symfony2-extension: ^2.0
- doctrine/data-fixtures: ^1.0
- doctrine/orm: ^2.6
- symfony/dependency-injection: ^3.4|^4.0
Requires (Dev)
- adamquaile/behat-command-runner-extension: ^0.1.1
- doctrine/doctrine-bundle: ^1.8
- doctrine/doctrine-fixtures-bundle: ^3.0
- symfony/process: ^3.4|^4.0
- symfony/var-dumper: ^3.4|^4.0
Suggests
- doctrine/migrations: Uses DBAL to load versioned database schema and migration classes
- symfony/process: For backup support on pgsql or mysql platforms
- v7.0.x-dev
- v6.0.x-dev
- 6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v5.0.x-dev
- v5.0.1
- v5.0.0
- v5.0.0-beta.1
- v4.0.x-dev
- v4.0.1
- v4.0.0
- 3.0.0
- 2.5.6
- 2.5.5
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 0.10.3
- 0.10.2
- 0.10.1
- 0.10
- v0.9.15
- v0.9.14
- v0.9.13
- v0.9.12
- v0.9.11
- v0.9.10
- v0.9.9
- v0.9.8
- v0.9.7
- v0.9.6
- v0.9.5
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9
This package is auto-updated.
Last update: 2024-09-05 03:45:07 UTC
README
该扩展通过在场景和功能之间重新加载ORM数据固定,增加了功能测试的隔离。
安装
composer require "behat-extension/doctrine-data-fixtures-extension"
配置
在您的behat.yml中激活扩展并定义要加载的任何固定数据
# behat.yml default: # ... extensions: BehatExtension\DoctrineDataFixturesExtension\Extension: lifetime: 'feature' directories: ~ fixtures: ~
当生命周期设置为"功能"(或未指定)时,数据固定将在功能文件之间重新加载。否则,当生命周期设置为"场景"时,数据固定将在场景之间重新加载(即,以增加运行时间为代价增加了测试隔离)。
当设置固定数据时,扩展将加载指定的固定数据类。这必须包含一个完全限定的类名列表。类不得有任何构造函数参数(或者至少是可选的)。如果实现了接口Symfony\Component\DependencyInjection\ContainerAwareInterface
,容器将设置到固定数据加载器。
当设置目录时,扩展将从相应的目录加载固定数据。类不得有任何构造函数参数(或者至少是可选的)。如果实现了接口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。