Подождите 0.0.0.0:8080 вместо localhost: 8080 - PullRequest
1 голос
/ 20 мая 2019

В классе GenericContainer существует метод waitingFor, который ожидает ответа от сервера с кодом состояния 200.
Я запускаю веб-приложение в контейнере и использую 0.0.0.0 в качестве хоставместо localhost.Когда я пытаюсь запустить sbt test, у меня появляется следующее время ожидания:

[sweetsoft/sapmock:latest] - Could not start container
org.testcontainers.containers.ContainerLaunchException: Timed out waiting for container port to open (localhost ports: [8080] should be listening)  

Я использую тестовый контейнер следующим образом:

final class MessageSpec extends BddSpec
  with ForAllTestContainer
  with BeforeAndAfterAll {


  override val container = FixedHostPortGenericContainer("sweetsoft/sapmock",
    waitStrategy = Wait.forHttp("/"),
    exposedHostPort = 8080,
    exposedContainerPort = 8080,
  )


  override def beforeAll(): Unit = {

  }


  feature("Process incoming messages") {
    info("As a user, I want that incoming messages is going to process appropriately.")
    info("A message should contain the following properties: `sap_id`, `sap_event`, `payload`")

Когда я удаляю waitStrategy = Wait.forHttp("/"), тогда он работает нормально, но с waitStrategy = Wait.forHttp("/") он уходит в тайм-аут.

Как сказать Testcontainer слушать 0.0.0.0 вместо localhost?Я описал проблему с localhost здесь: Почему клиент не может подключиться к localhost: 8080?

...