В моем проекте у меня есть файл autoload.php
, который отвечает за то, что контекст классов. Это файл, автоматически созданный Composer. Как включить этот файл с помощью behat.yml
?Как требовать от поставщика/autoload.php с behat.yml
В PHPUnit-х phpunit.xml.dist
я могу сделать это просто с bootstrap
атрибута, как это:
<phpunit bootstrap="vendor/autoload.php">
Есть ли подобная установка в Behat?
Примечание: Я не прошу о запуске Behat из каталога vendor
, потому что, когда я это делаю, он работает должным образом. Это потому, что файл vendor/bin/behat
содержит выражение в
include __DIR__.'/../vendor/autoload.php';
. Но у меня также есть behat
, установленный глобально, и когда я запускаю глобальную команду behat
, она не может автозагружать мои классы контекста. И это тот случай, который меня интересует.
Это имеет смысл, но мне все же хотелось бы иметь возможность загружать мой тестовый проект. Если не для целей автозагрузки, то для определения констант, импорта услуг и т. Д. [Behat 1.0 имел поддержку файла bootstrap.php] (http://docs.behat.org/en/v2.5/cookbook/migrate_from_1x_to_20.html#migrating- bootstrap-scripts), и я не могу себе представить, почему он был удален. Предлагаемое решение состоит в том, чтобы сделать это сейчас в файлах контекста. Это ИМО - очень грязное обходное решение, а не решение. –
Но вы дали мне идею для более чистого решения. Я напишу что-то вроде расширения (или хотя бы бегуна с бутстрапом) для Бехата, когда найду какое-то время. –
Одна из первых вещей, которые я делаю при начальной загрузке проекта, - запустить 'composer init'. Это приведет к появлению таких инструментов, как behit in, и я могу использовать их для загрузки/спецификации/etc. Я действительно не вижу смысла устанавливать поведение в глобальном масштабе. Это также не рекомендуется для его установки. –