Вызов функции-члена getSession () для не-объекта в vendor / behat / mink-extension / src / Behat / MinkExtension / Context / RawMinkContext.php в строке 81

Я получаю эту ошибку при попытке запустить мои тесты поведения из командной строки.

Полный вывод ошибки выглядит следующим образом:

$ behat Feature: View a list of current custom tariffs In order to provide custom call pricing to customers As a user of the Voxbeam Admin site I expect to be able to correctly administrate a users custom tariffs @sahi Scenario: Listing existing custom tariffs # features/custom_tariff_admin.feature:7 PHP Fatal error: Call to a member function getSession() on a non-object in /Users/stuart/bin/vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php on line 81 PHP Stack trace: PHP 1. {main}() /Users/stuart/bin/vendor/behat/behat/bin/behat:0 PHP 2. Symfony\Component\Console\Application->run() /Users/stuart/bin/vendor/behat/behat/bin/behat:32 PHP 3. Behat\Behat\Console\BehatApplication->doRun() /Users/stuart/bin/vendor/symfony/console/Symfony/Component/Console/Application.php:106 PHP 4. Symfony\Component\Console\Application->doRun() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Console/BehatApplication.php:68 PHP 5. Symfony\Component\Console\Command\Command->run() /Users/stuart/bin/vendor/symfony/console/Symfony/Component/Console/Application.php:193 PHP 6. Behat\Behat\Console\Command\BehatCommand->execute() /Users/stuart/bin/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:240 PHP 7. Behat\Behat\Console\Command\BehatCommand->runFeatures() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Console/Command/BehatCommand.php:128 PHP 8. Behat\Gherkin\Node\AbstractNode->accept() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Console/Command/BehatCommand.php:150 PHP 9. Behat\Behat\Tester\FeatureTester->visit() /Users/stuart/bin/vendor/behat/gherkin/src/Behat/Gherkin/Node/AbstractNode.php:42 PHP 10. Behat\Gherkin\Node\AbstractNode->accept() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Tester/FeatureTester.php:88 PHP 11. Behat\Behat\Tester\ScenarioTester->visit() /Users/stuart/bin/vendor/behat/gherkin/src/Behat/Gherkin/Node/AbstractNode.php:42 PHP 12. Behat\Behat\Tester\ScenarioTester->visitStep() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Tester/ScenarioTester.php:87 PHP 13. Behat\Gherkin\Node\AbstractNode->accept() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Tester/ScenarioTester.php:148 PHP 14. Behat\Behat\Tester\StepTester->visit() /Users/stuart/bin/vendor/behat/gherkin/src/Behat/Gherkin/Node/AbstractNode.php:42 PHP 15. Behat\Behat\Tester\StepTester->executeStep() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Tester/StepTester.php:95 PHP 16. Behat\Behat\Tester\StepTester->executeStepDefinition() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Tester/StepTester.php:126 PHP 17. Behat\Behat\Definition\Annotation\Definition->run() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Tester/StepTester.php:157 PHP 18. call_user_func_array() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Definition/Annotation/Definition.php:155 PHP 19. Behat\MinkExtension\Context\MinkContext->visit() /Users/stuart/bin/vendor/behat/behat/src/Behat/Behat/Definition/Annotation/Definition.php:155 PHP 20. Behat\MinkExtension\Context\RawMinkContext->getSession() /Users/stuart/bin/vendor/behat/mink-extension/src/Behat/MinkExtension/Context/MinkContext.php:45 

My behat.yml:

 # behat.yml default: paths: features: features bootstrap: %behat.paths.features%/bootstrap extensions: Behat\MinkExtension\Extension: base_url: 'http://dev.example.com' goutte: ~ sahi: ~ annotations: paths: features: features/annotations closures: paths: features: features/closures 

У меня очень простой FeatureContext:

 <?php use Behat\Behat\Context\ClosuredContextInterface, Behat\Behat\Context\BehatContext, Behat\Behat\Exception\PendingException, Behat\Behat\Context\Step; use Behat\Gherkin\Node\PyStringNode, Behat\Gherkin\Node\TableNode; use Behat\MinkExtension\Context\MinkContext; // // Require 3rd-party libraries here: // // require_once 'PHPUnit/Autoload.php'; // require_once 'PHPUnit/Framework/Assert/Functions.php'; // /** * Features context. */ class FeatureContext extends MinkContext { /** * @Given /^I am logged in as "([^"]*)" with password "([^"]*)"$/ */ public function iAmLoggedInAsWithPassword($userName, $password) { return array( new Step\Given('I am on "/login"'), new Step\Given('I should see "fert"') ); } // // Place your definition and hook methods here: // // /** // * @Given /^I have done something with "([^"]*)"$/ // */ // public function iHaveDoneSomethingWith($argument) // { // doSomethingWith($argument); // } // } 

и такая же простая особенность:

 Feature: Administer a customers custom tariffs In order to provide custom call pricing to customers As a user of the Admin site I expect to be able to correctly administrate a users custom tariffs Scenario: Listing existing custom tariffs Given I am on "/" I should see "Fert" 

Solutions Collecting From Web of "Вызов функции-члена getSession () для не-объекта в vendor / behat / mink-extension / src / Behat / MinkExtension / Context / RawMinkContext.php в строке 81"

Убедитесь, что файл behat.yml находится в правильном месте. Он должен быть в корне вашего проекта, а не в каких-либо подкаталогах.

Если совет Стюарта Гримшоу не работает, это может быть по двум причинам:

  1. Неверная конфигурация вашего композитора. сложно получить правильные версии 5 или 6 различных модулей, которые необходимы для создания Минки, Беха, Гутта, Селена, Зомби, возможно, Symfony2 .. все работают вместе; поэтому, пожалуйста, проверьте вручную, в каждом composer.json этих расширений, необходимые версии других компонентов; также старайтесь не использовать норковую связку, чьи версии требуемых зависимостей кажутся старыми
  2. Не запускайте команду bin \ behat (под Windows или Linux) из каталога пакетов; иначе файл конфигурации .yml не найден (наверняка какая-то непонятная причина связана с относительными путями). Вы должны запустить команду bin \ behat из корня вашего проекта (сначала запустите команду cd

Я тоже получал аналогичную фатальную ошибку

 PHP Fatal error: Call to a member function getSession() on a non-object in /home/ahad/sites/symfony/vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php on line 101 

Я поставил свой ответ здесь. Борясь за то, чтобы заставить Минк работать с Бехатом

Что решило мою проблему.