放心测试 Quarkus 不 运行 withing Docker 容器

Restassured Test Quarkus not running withing Docker Container

我有一个正常的 Quarkus Restassured 测试在我的工作站上本地运行得很好:

    @Test
    public void testHelloEndpoint() {
        given()
          .when().get("/ifc")
          .then()
             .statusCode(200)
             .body(containsString("hello"));
    }

然而,当我 运行 在 Gitlab CI 上使用来自图像 image: maven:3.6.3-jdk-11 的 docker 容器时,它挂起了。我想,测试想要连接到容器内部的 locahost:8081,这是行不通的。 如何解决这个问题?

gitlab-ci:

image: maven:3.6.3-jdk-11


variables:
  MAVEN_CLI_OPTS: "-s m2-settings.xml --batch-mode"
  #MAVEN_CLI_OPTS: ""
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

cache:
  paths:
    #- .m2/repository/
    #- target/

build:
  stage: build
  script:
    - mvn $MAVEN_CLI_OPTS compile

test:
  stage: test
  script:
    - java --version
    - mvn $MAVEN_CLI_OPTS install

deploy:
  stage: deploy
  script:
    - mvn $MAVEN_CLI_OPTS deploy
  only:
    - master
  when: manual

当我在本地 运行 相同的 docker 图像(不是 gitlab)时,我看到以下错误:

[ERROR] Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 61.157 s <<< FAILURE! - in ch.siemens.bt.ifc.ResourceTest
[ERROR] testGenerateEndpoint  Time elapsed: 0.073 s  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache

[ERROR] testTransformEndpoint  Time elapsed: 0.001 s  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class io.quarkus.test.common.RestAssuredURLManager

[ERROR] testHelloEndpoint  Time elapsed: 0.001 s  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class io.quarkus.test.common.RestAssuredURLManager

我发现使用图像 quay.io/quarkus/centos-quarkus-maven:20.0.0-java11 是可行的。我不明白为什么 - 因为我没有进行本地构建。