Restassured Test Quarkus不与Docker容器一起运行

问题描述 投票:1回答:1

我有一个正常的Quarkus Restassured Test,可以在我的工作站上很好地进行本地工作:

    @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
gitlab-ci rest-assured quarkus
1个回答
0
投票
我已经意识到使用图像quay.io/quarkus/centos-quarkus-maven:20.0.0-java11是可行的。我不明白为什么-因为我没有做原生版本。
© www.soinside.com 2019 - 2024. All rights reserved.