Как написать тест/функцию Behat на PHP?

#php #behat #gherkin

Вопрос:

Тесты Behat обычно написаны на языке корнишонов, но это текстовые файлы без какого-либо возможного рефакторинга.

Пример:

вместо того, чтобы писать файл функций, такой как:

 Feature: ScopeBuilder  Scenario: test ScopeBuilder rendering of model scope  Given I am on "_unit-test/scope-builder.php"  Then rule "atk_fp_stat__a3b68d0c" operator is "gt;=" and value is "1000"  Then rule "atk_fp_stat__ff68957f" operator is "matches regular expression" and value is "[a-zA-Z]"  

ответ должен принимать такие файлы, как:

 $countField = Field::getDbName('stat.count'); // atk_fp_stat__a3b68d0c $nameField = Field::getDbName('stat.name'); // atk_fp_stat__ff68957f  return new Feature(  'ScopeBuilder',  new Scenario(  'test ScopeBuilder rendering of model scope',  new Step('Given I am on "_unit-test/scope-builder.php"'),  new Step('Then rule "' . $countField . '" operator is "gt;=" and value is "1000"'),  new Step('Then rule "' . $nameField . '" operator is "matches regular expression" and value is "[a-zA-Z]"')  ) );  

Вопрос в том, как убедить Behat сканировать файлы php в определенном каталоге и добавлять сценарии тестирования, определенные в файлах php, как в примере.