第 1 章 验证测试依赖项


在本教程中,您必须有一个完整的 Quarkus Getting Started 项目,以及项目 pom.xml 文件必须包含 quarkus-junit5restassured 依赖项。如果您已完成 Quarkus 入门练习,或者您下载了已完成的示例,则这些依赖项将出现。

  • 测试需要 quarkus-junit5 依赖项,因为它提供控制测试框架的 @QuarkusTest 注释。
  • 不要求依赖 rest-asred 依赖项,但您可以将它用作测试 HTTP 端点的便捷方式。

    注意

    Quarkus 提供自动设置正确 URL 的集成,因此不需要配置。

流程

  1. 打开 Getting Started 项目 pom.xml 文件。
  2. 验证文件中是否存在以下依赖项,并根据需要添加它们:

    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-junit5</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <scope>test</scope>
    </dependency>
  3. 验证您的 pom.xml 文件是否包含 maven-surefire-plugin。由于本教程使用 JUnit 5 框架,所以必须设置 maven-surefire-plugin 的版本,因为默认版本不支持 Junit 5:

    <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-plugin.version}</version>
        <configuration>
           <systemProperties>
              <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
           </systemProperties>
        </configuration>
    </plugin>
  4. 设置 java.util.logging.manager 系统属性,以使用正确的日志管理器进行测试。
  5. 验证 GreetingResourceTest.java 文件是否包含以下内容,并在需要时添加它:

    package org.acme.quickstart;
    
    import io.quarkus.test.junit.QuarkusTest;
    import org.junit.jupiter.api.Test;
    
    import java.util.UUID;
    
    import static io.restassured.RestAssured.given;
    import static org.hamcrest.CoreMatchers.is;
    
    @QuarkusTest
    public class GreetingResourceTest {
    
        @Test
        public void testHelloEndpoint() {
            given()
              .when().get("/hello")
              .then()
                 .statusCode(200)
                 .body(is("hello"));
        }
    
        @Test
        public void testGreetingEndpoint() {
            String uuid = UUID.randomUUID().toString();
            given()
              .pathParam("name", uuid)
              .when().get("/hello/greeting/{name}")
              .then()
                .statusCode(200)
                .body(is("hello " + uuid));
        }
    
    }
  6. 要运行测试,请输入以下命令:

    ./mvnw clean verify

    您还可以直接从 IDE 中运行测试。

注意

此测试使用 HTTP 直接测试 REST 端点。触发测试时,应用将在测试运行前启动。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部