У меня возникли трудности с правильной настройкой структуры Behat. Тест работает нормально, однако определения шагов не извлекаются из файла FeatureContext. Попробовали ответы на другие вопросы без везения. Файл behat.yml в настоящее время хранится в корневом каталоге проекта:Behat - Внедрить определения шагов
default:
paths:
features: 'bin/features'
bootstrap: 'bin/features/bootstrap'
context:
class: 'FeatureContext'
extensions:
Behat\MinkExtension\Extension:
goutte: ~
selenium2: ~
В корне проекта у меня есть папка бин, который содержит стандартный behat файлов: behat.bat, webunit.bat и т.д. В пределах папка бен у меня есть папка особенности, которая содержит файл search.feature:
Feature: Search
In order to find a word
As a website user
I need to be able to search for a word
@javascript
Scenario: Searching for a word that does exist
Given I am on "http://drupalcamp.mx/search/"
When I fill in "Escriba las palabras clave" with "behat, mink"
And I press "Buscar"
Then I should see "Behavior Driven Development"
And I follow "Behavior Driven Development"
And I wait for 5 seconds
в папке особенности я есть самозагрузки папка, которая содержит файл «FeatureContext»
namespace features;
use Behat\Behat\Context\ClosuredContextInterface,
Behat\Behat\Context\TranslatedContextInterface,
Behat\Behat\Context\BehatContext,
Behat\Behat\Exception\PendingException;
use Behat\Gherkin\Node\PyStringNode,
Behat\Gherkin\Node\TableNode;
use Behat\MinkExtension\Context\MinkContext;
/**
* Features context.
*/
class FeatureContext extends MinkContext
{
/**
* Initializes context.
* Every scenario gets it's own context object.
*
* @param array $parameters context parameters (set them up through behat.yml)
*/
public function __construct(array $parameters)
{
// Initialize your context here
}
/**
* @Given /^I wait for (\d+) seconds$/
*/
public function iWaitForSeconds($seconds)
{
$this->getSession()->wait($seconds*1000);
}
Когда я запускаю «behat» из корневого каталога проекта в CL, он запускает тест в браузере, передает все, но не распознает определение шага, он указывает: «Вы можете реализовать определения шагов для неопределенных шагов с помощью этих фрагментов: », который затем дает пример.