首页 > 解决方案 > 服务“environment.manager”依赖于不存在的服务“behatch.http_call.request”

问题描述

我遇到了 behatch 的问题,当我运行bin/behat命令行时,它显示了这个错误:

服务“environment.manager”依赖于不存在的服务“behatch.http_call.request”。

标签: behat

解决方案


我有类似的错误

./vendor/bin/behat  --verbose

In CheckExceptionOnInvalidReferenceBehaviorPass.php line 86:

  [Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]            
  The service "environment.manager" has a dependency on a non-existent service "mink".                                                                                       

要解决您的问题,您应该附加您的behat.yml. 我将介绍三个案例,也许它可以帮助你。

1 不带貂工作

default:
    suites:
        default:
            contexts:
                - FeatureContext:
                    kernel: '@kernel'
    extensions:
        Behat\Symfony2Extension:
            kernel:
                bootstrap: features/bootstrap/bootstrap.php
                class: App\Kernel

2 出错时的配置

有添加Behatch\Extension但没有Mink\Extension

default:
    suites:
        default:
            contexts:
                - FeatureContext:
                    kernel: '@kernel'
    extensions:
        Behat\Symfony2Extension:
            kernel:
                bootstrap: features/bootstrap/bootstrap.php
                class: App\Kernel
        Behatch\Extension: ~

3 我如何解决我的问题

我添加了扩展名BehatchMinkExtension.

default:
    suites:
        default:
            contexts:
                - FeatureContext:
                    kernel: '@kernel'
                - Behat\MinkExtension\Context\MinkContext
                - behatch:context:browser
                - behatch:context:debug
                - behatch:context:system
                - behatch:context:json
                - behatch:context:table
                - behatch:context:rest
                - behatch:context:xml
    extensions:
        Behat\Symfony2Extension:
            kernel:
                bootstrap: features/bootstrap/bootstrap.php
                class: App\Kernel
        Behatch\Extension: ~
        Behat\MinkExtension:
          base_url:  'http://localhost:8000'
          sessions:
            default:
              symfony2: ~

资料来源:

https://github.com/Behat/MinkExtension/blob/master/doc/index.rst https://github.com/Behatch/contexts

解决您的问题的建议:

  • 1) 使用--verbose标志
  • 2) 附加behat.yml文件
  • 3) 将 composer.json 的一部分附加到您的依赖项中

推荐阅读