Что не так с моим FeatureContext?

Я считаю, что я не понимаю BehatContext против MinkContext и не уверен, почему я наследовал бы от того или другого в своем приложении. В принципе, я не понимаю, почему мне приходится создавать экземпляр нового объекта Client в каждой функции. Я должен был бы использовать $ this, так как у меня есть goutte, загруженный в мой файл behat.yml.

Любые советы, пожалуйста?

<?php namespace Main\ReferralCaptureBundle\Features\Context; use Main\ReferralCaptureBundle\Features\Context\FeatureContext; use Symfony\Component\HttpKernel\KernelInterface; use Behat\Symfony2Extension\Context\KernelAwareInterface; use Behat\MinkExtension\Context\MinkContext; use Behat\MinkExtension\Context\RawMinkContext; use Behat\Behat\Context\BehatContext, Behat\Behat\Exception\PendingException; use Behat\Gherkin\Node\PyStringNode, Behat\Gherkin\Node\TableNode; use Goutte\Client; // // Require 3rd-party libraries here: // require_once 'PHPUnit/Autoload.php'; require_once 'PHPUnit/Framework/Assert/Functions.php'; // /** * Feature context. */ class FeatureContext extends RawMinkContext //MinkContext if you want to test web implements KernelAwareInterface { private $kernel; private $parameters; /** * Initializes context with parameters from behat.yml. * * @param array $parameters */ public function __construct(array $parameters) { $this->parameters = $parameters; $this->useContext('behat', new BehatContext); $this->useContext('mink', new MinkContext); } /** * Sets HttpKernel instance. * This method will be automatically called by Symfony2Extension ContextInitializer. * * @param KernelInterface $kernel */ public function setKernel(KernelInterface $kernel) { $this->kernel = $kernel; } /** * @Given /^I am on homepage$/ */ public function iAmOnHomepage() { // $this->getSession()->visit("/"); $client = new Client(); $crawler = $client->request('GET', 'http://local.referral.com/'); $link = $crawler->selectLink('I am a Physician')->link(); if (!count($link)>0) { throw new Exception("Home Page Not Loaded:\n"); } } /** * @Given /^I follow "([^"]*)"$/ */ public function iFollow($arg1) { $client = new Client(); $crawler = $client->request('GET', 'http://local.referral.com/'); $link = $crawler->selectLink('Register')->link(); $crawler = $client->click($link); } /** * @When /^I fill in "([^"]*)" with "([^"]*)"$/ */ public function iFillInWith($arg1, $arg2) { throw new PendingException(); } /** * @Given /^I press "([^"]*)"$/ */ public function iPress($arg1) { throw new PendingException(); } /** * @Then /^I should see "([^"]*)"$/ */ public function iShouldSee($arg1) { throw new PendingException(); } /** * @Given /^I should be on homepage$/ */ public function iShouldBeOnHomepage() { throw new PendingException(); } } 

Solutions Collecting From Web of "Что не так с моим FeatureContext?"