java Quarkus测试的Github操作工作流

0sgqnhkj  于 2023-08-02  发布在  Java
关注(0)|答案(1)|浏览(121)

我正在尝试编写一个github动作工作流来运行quarkus应用程序的测试。但是,当运行quarkus测试时,它会运行所有测试,然后显示命令提示符并要求更多命令。这会导致作业挂起在github上,并无限期地运行。我不知道如何让quarkus运行所有的测试,然后退出。
以下是我当前的.yml文件:

name: Java CI with Quarkus

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 17
        uses: actions/setup-java@v2
        with:
          java-version: '17'
          distribution: 'adopt'
      - name: Cache Maven packages
        uses: actions/cache@v2
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2
      - name: Build with Maven
        run: mvn -B package --file pom.xml
      - name: Test with Quarkus
        run: ./mvnw quarkus:test -Dquarkus.test.disable-continuous-testing=true

字符串

2ic8powd

2ic8powd1#

quarkus:test命令实际上是用于本地、交互式、连续的测试。该命令的优点是它将检测代码更改并自动重新运行受影响的测试。这在本地很棒但在线人那里就说不通了
要在“正常”模式下运行Quarkus测试,只需运行正常的maven命令即可,例如mvn installmvn verify。在您的例子中,mvn package应该已经运行了测试,但是您可以通过故意提交一个失败的测试并确认构建失败来进行确认。
我很确定quarkus.test.disable-continuous-testing选项不存在。我想它可能与quarkus.test.continuous-testing=disabled混淆了,quarkus.test.continuous-testing=disabled确实存在。如果您使用quarkus:dev(它运行应用程序,也可以连续运行测试)运行,但只想实时重新加载应用程序,并且绝对不想测试,那么该选项通常是有用的。
对于您的场景,我只需要从您的工作流文件中删除./mvnw quarkus:test -Dquarkus.test.disable-continuous-testing=true行。这将避免交互式会话,Quarkus测试将在前面的maven步骤中运行。

相关问题