无法启用Behat Mink扩展程序

时间:2016-03-17 18:51:51

标签: php behat mink

我正在尝试使用带有mink扩展的behat来创建一个简单的案例场景。我虽然陷入困境,但谷歌搜索的时间似乎没有帮助。

我的作曲家需要

  "require": {
    "behat/behat": "3.0.6",
    "behat/mink": "1.6.*",
    "behat/mink-extension": "*",
    "behat/mink-goutte-driver": "*"
  }

我的behat.yml

default:
  autoload:
    '': %paths.base%/features/bootstrap
  suites:
    default:
      paths:
        - %paths.base%/features
      extensions:
        Behat\MinkExtension:
          base_url:  'http://example.com'
          goutte: ~

我的FeatureContext.php

<?php

use Behat\Behat\Context\SnippetAcceptingContext;
use Behat\MinkExtension\Context\MinkContext;

/**
 * Behat context class.
 */
class FeatureContext extends MinkContext implements SnippetAcceptingContext
{
    /**
     * Initializes context.
     *
     * Every scenario gets it's own context object.
     * You can also pass arbitrary arguments to the context constructor through behat.yml.
     */
    public function __construct()
    {
    }

    /**
     * @Given /^I am on home page$/
     */
    public function iGoToHomePage()
    {
        $session = $this->getSession();
        $session->visit($this->locatePath('/'));
    }
}

每当我使用我的功能运行behat时,我都会

  Mink instance has not been set on Mink context class. Have you enabled the Mink Extension? (RuntimeException)
我仔细检查了几十次缩进,检查了供应商目录中存在的命名空间,交换了一些东西。似乎什么都没有帮助 - 这里有什么不对?

1 个答案:

答案 0 :(得分:2)

extensions不适用于每个套件,因此将该指令提升到一个级别,例如:

default:
  autoload:
    '': %paths.base%/features/bootstrap
  extensions:
    Behat\MinkExtension:
      base_url:  'http://example.com'
      goutte: ~
  suites:
    default:
      paths:
        - %paths.base%/features