Ответ 1
Я нашел решение самостоятельно.
Просто передайте base_url в переменной среды BEHAT_PARAM.
export BEHAT_PARAMS="context[parameters][base_url]=http://google.fr"
Затем запустите behat
bin/behat
Я хотел бы знать, можно ли установить base_url через командную строку. Пример
bin/behat --base_url=http://google.fr
Я бы хотел избежать создания нового профиля и передачи его через командную строку каждый раз, когда мне нужно проверить новый URL-адрес, для удобства.
Есть ли здесь какой-нибудь трюк?
Спасибо.
Я нашел решение самостоятельно.
Просто передайте base_url в переменной среды BEHAT_PARAM.
export BEHAT_PARAMS="context[parameters][base_url]=http://google.fr"
Затем запустите behat
bin/behat
В качестве альтернативы, если вы используете Mink, вы можете определить профиль в файле behat.yml
# behat.yml
default:
extensions:
Behat\MinkExtension\Extension:
base_url: http://local.mysite.com
goutte: ~
selenium2: ~
dev:
extensions:
Behat\MinkExtension\Extension:
base_url: http://dev.mysite.com
И затем вы можете запускать тесты с local.mysite.com по умолчанию с помощью
$ behat
Или против dev.mysite.com с
$ behat --profile=dev
В Behat 3 этот параметр, похоже, стал JSON, поэтому он работает как:
export BEHAT_PARAMS='{"extensions":{"Behat\\MinkExtension":{"base_url":"https://google.com/"}}}'
Важные эти параметры не переопределяют, они по умолчанию и переписываются командой behat.yml. Таким образом, вы должны UNSET base_url в behat.yml, чтобы этот параметр CLI работал.
extensions:
Behat\MinkExtension:
# YOU MUST EDIT THIS YOURSELF!
# Either set this here, or set the base_url via BEHAT_PARAMS
# base_url: 'https://my.livesite.com/'
(Refs: функция-запрос, подсказка)
Более короткий способ добиться того же, что и для вашего ответа, должен был просто передать переменные среды перед самой командой:
BEHAT_PARAMS="context[parameters][base_url]=http://google.fr" bin/behat