lcobucci/behat-di-builder-extension

一个Behat扩展,允许在上下文中注入由lcobucci/di-builder创建的容器中的服务

1.3.0 2021-10-19 00:09 UTC

README

Total Downloads Latest Stable Version Unstable Version

Build Status Code Coverage

允许在Behat上下文中使用 lcobucci/di-builder 创建的容器注入服务。

安装

该包在 Packagist 上可用,您可以使用 Composer 安装它。

composer require --dev lcobucci/behat-di-builder-extension

基本用法

您必须首先在Behat配置文件中启用扩展

default:
  # ...
  
  extensions:
      Lcobucci\DependencyInjection\Behat\BuilderExtension: ~

然后,在套件配置中启用使用测试容器(由扩展创建)

default:
  suites:
    my-suite:
      services: "@test_container"
  
  extensions:
      Lcobucci\DependencyInjection\Behat\BuilderExtension: ~

最后,将服务注入到您的上下文中

default:
  suites:
    my-suite:
      services: "@test_container"
      contexts:
        - My\Lovely\Context:
          - "@my_service"
  
  extensions:
    Lcobucci\DependencyInjection\Behat\BuilderExtension: ~

高级配置

您可以向扩展提供以下参数以更好地配置它

  • name: 如果您已经有一个使用 test_container 的扩展
  • container_builder: 如果您的应用程序已经使用 lcobucci/di-builder 并希望使用它(而不是空白容器构建器)
  • packages: 以便您可以为测试添加/覆盖服务定义

使用这些设置,您的 behat.yml 将看起来像这样

default:
  suites:
    my-suite:
      services: "@my_container"
      contexts:
        - My\Lovely\Context:
          - "@my_service"
  
  extensions:
    Lcobucci\DependencyInjection\Behat\BuilderExtension:
      name: "my_container"
      container_builder: "config/container_builder.php"
      packages:
        My\DIBuilder\Package: ~
        My\DIBuilder\PackageWithConstructorArguments:
          - "one"
          - "two"