У меня есть докер-контейнер (сборка на образе php: 7.1-apache) с простой установкой Drupal 7.56.
Мой самый простой начинается с этого:
$this->account = $this->drupalCreateUser();
$this->drupalLogin($this->account);
Но когда я запускаю следующую команду:
docker exec simpletest bash -c "php scripts/run-tests.sh --url http://simpletest \
--verbose --color --class MyOwnWebTest"
Я получаю следующее сообщение:
Fail User login my_module 34
MyOwnWebTest->testWeb
User esxlZnK0 successfully logged in.
Это не имеет никакого смысла — пользователь создан и вошел в систему, но код терпит неудачу ?!
Ладно — разобрался для себя.
Контейнер настроен на прослушивание порта 83.
Поэтому Apache port.conf должен иметь Listen 81, а Drupals settings.php должен иметь следующую настройку:
$base_url = 'http://simpletest:83';
И я вызываю тест с этой строкой кода:
docker exec simpletest bash -c "php scripts/run-tests.sh \
--url http://simpletest:83 --verbose --color --class MyOwnWebTest"
Других решений пока нет …