#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, как в примере.