简体   繁体   English

每个Behat上下文不同的环境(Symfony 4.x)

[英]Different environment per Behat context (Symfony 4.x)

I want to create a lot of Behat features with simulating different configurations (from yaml,xml,php files). 我想通过模拟不同的配置(从yaml,xml,php文件)创建很多Behat功能。

Official extension for support Symfony 4 - Symfony2Extension have support for configuring a different environment like: 支持官方扩展Symfony 4- Symfony2Extension支持配置其他环境,例如:

default:
    # ...
    extensions:
        Behat\Symfony2Extension:
            kernel:
               class: App\Kernel
               bootstrap: config/bootstrap.php
               env: custom_env

But, this extension is loaded before any suites or context. 但是,此扩展在任何套件或上下文之前加载。 I should initial Kernel for each separate context with different config files via env. 我应该通过环境通过不同的配置文件为每个单独的上下文初始化内核。

Like: 喜欢:

default:
    suites:
        default:
            contexts:
                params:
                    env: custom_env
                - FeatureContext:

or 要么

default:
    suites:
        default:
            contexts:
                - FeatureContext:
                    env: custom_env

And I'll load Kernel manually inside Context. 然后,我将在Context中手动加载内核。

Any idea here? 这里有什么主意吗?

I guess you could define different profiles for each env: 我想您可以为每个环境定义不同的配置文件:

default:
  # ...
  extensions:
    Behat\Symfony2Extension:
        kernel:
           class: App\Kernel
           bootstrap: config/bootstrap.php

php_profile:
  # ...
  extensions:
    Behat\Symfony2Extension:
        kernel:
           env: prod

yaml_profile:
  # ...
  extensions:
    Behat\Symfony2Extension:
        kernel:
           env: dev

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM