大昌数字 / pimcore-codeception-framework
Pimcore Codeception 框架
3.0.x-dev
2024-08-27 07:54 UTC
README
此包允许您创建快速简单的测试环境。它还由DACHCOM.DIGITAL创建的所有pimcore Bundle使用。DACHCOM.DIGITAL。
支持表
升级说明
3.0.0
- Yaml扩展名已从
yml
更改为yaml
_support
路径已更改为Support
。所有Dachcom\Codeception\*
命名空间都已更改为Dachcom\Codeception\Support\*
- 使用rsync进行
setup_files
,因此您需要相应地调整您的setup_files
堆栈(参见下面的示例) - 您需要在您的ci配置中定义PIMCORE
config_location
(见下面的“配置位置”部分) - 您必须将额外的PIMCORE Bundle添加到
bundles
配置部分(见下面的示例) - [SECURITY] 在执行测试时禁用了
\Pimcore\Bundle\AdminBundle\EventListener\CsrfProtectionListener
Pimcore\Model\DataObject
命名空间从_output/var/classes/DataObject/DataObject
更改为_output/var/classes/DataObject
- 可以通过
TEST_KERNEL_CLASS
环境变量定义TestKernel类
配置
所有测试文件都需要存储在/tests
。
环境变量
引导
在tests/_bootstrap.php
中创建一个名为_bootstrap.php
的文件。
<?php $frameworkPath = getenv('PIMCORE_CODECEPTION_FRAMEWORK'); $bundleTestPath = getenv('TEST_BUNDLE_TEST_DIR'); $bootstrap = sprintf('%s/src/_bootstrap.php', $frameworkPath); include_once $bootstrap;
设置文件
在tests/_etc/config.yaml
中创建一个名为config.yaml
的文件。
bundles: - { namespace: \MyTestBundle\MyTestBundle } - { namespace: \Pimcore\Bundle\SeoBundle\PimcoreSeoBundle, priority: 0, execute_installer: true } # if you need the seo bundle setup_files: - { path: app/config.yaml, dest: ./config/ } - { path: app/system_settings.yaml, dest: ./var/config/system_settings/ } - { path: app/controller/DefaultController.php, dest: ./src/Controller/ } - { path: app/templates/default.html.twig, dest: ./templates/default/ } - { path: app/templates/snippet.html.twig, dest: ./templates/default/ } preload_files: - { path: Services/MySpecialTestService.php } additional_composer_packages: - { package: pimcore/admin-ui-classic-bundle, version: ^1.0 } # this one is most likely needed - { package: vendor/foo-bar, version: ^1.0} # additional packages
配置位置
在您的app/config.yaml
中,您应将所有配置位置移动到settings-store
,参见pimcore ci 示例
注意!不要将
system_settings
设置为settings-store
!
设置文件参数
- bundles (必需):至少您的测试Bundle应该在此处注册。如有需要,请添加更多。
- setup_files (可选):所有这些模板文件在周期中都需要可用。这些文件需要存储在
/tests/_etc/config
下 - preload_files (可选):这些文件将在内核设置时包含。由于这些文件不是通过composer自动加载的,因此我们需要在这里定义它们
- additional_composer_packages (可选):安装根composer.json中不可用的附加composer包
捆绑配置文件
此框架允许您使用多个(捆绑)配置设置。您需要添加至少一个默认配置文件,名为default_config.yaml
,并将其存储在/tests/_etc/config/bundle
中。
使用捆绑配置文件
TBD
类
如果您想提供一些类来安装,所有定义都需要存储在/tests/_etc/classes
中。