大昌数字/pimcore-codeception-framework

3.0.x-dev 2024-08-27 07:54 UTC

This package is auto-updated.

Last update: 2024-08-27 07:55:20 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中。

演员

[MODULE] PimcoreAdminCsv

[MODULE] PimcoreAdminJson

[MODULE] PimcoreBackend

[MODULE] PimcoreBundleCore

[MODULE] PimcoreCore

[MODULE] PimcoreUser

[MODULE] Browser/PhpBrowser

[MODULE] Browser/WebDriver