Behat 3.0 содержит папку / путь

Я пытаюсь настроить Behat 3.0. Я хочу изменить путь туда, где идут мои функции.

В настоящее время мой behat.yml конфиг выглядит так:

default:
autoload:
'': app/tests/acceptance

Бег behat --init создам acceptance/FeatureContext.php в app/tests каталог.

Тем не менее, это создаст features папка в корне моего проекта. Я бы вместо этого хотел этого features папка для размещения в app/tests/acceptance папка.

Как я могу это сделать?

2

Решение

Behat 3 имеет поддержку люксы а также профили.

Единственное, что вам нужно сделать, это добавить пользовательские пути к профиль по умолчанию:

default:
autoload:
'': %paths.base%/app/tests/acceptance
suites:
default:
paths: [ %paths.base%/app/tests/acceptance/features ]

Совет 1

Всегда используйте %paths.base% переменная, чтобы иметь возможность запускать ваши тесты Behat из другого каталога.

Совет 2

В зависимости от механизма автозагрузки Behat PSR-0 может возникнуть проблема, когда у вас будет больше контекстов.

Хорошей практикой является использование механизма автозагрузки композитора PSR-4 для запуска функций Behat с пространством имен.

После того, как вы настроили Behat, как в примере выше, вам нужно удалить раздел автозагрузки в bahat.yml и добавить contexts к default профиль:

default:
suites:
default:
paths: [ %paths.base%/app/tests/acceptance/features ]
contexts: [ MyApp\Tests\Acceptance\FeatureContext ]

Добавить автозагрузку конфигурации в composer.json:

{
[...]
"autoload-dev": {
"psr-4": {
"MyApp\\Tests\\Acceptance\\": "app/tests/acceptance"}
}
[...]
}

А затем просто сбросить автозагрузчик с composer dump-autoload,

11

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector