我正在尝试使用带有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)
答案 0 :(得分:2)
extensions
不适用于每个套件,因此将该指令提升到一个级别,例如:
default:
autoload:
'': %paths.base%/features/bootstrap
extensions:
Behat\MinkExtension:
base_url: 'http://example.com'
goutte: ~
suites:
default:
paths:
- %paths.base%/features