第 1 章 验证测试依赖项


在本教程中,您必须有一个已完成的 Quarkus Getting Started 项目,并且项目 pom.xml 文件必须包含 quarkus-junit5rest-assured 依赖项。如果您完成了 Quarkus 入门操作,或者下载了完成的示例,则会出现这些依赖项。

  • 测试需要 quarkus-junit5 依赖项,因为它提供了控制测试框架的 @QuarkusTest 注解。
  • 不需要 rest-assured 依赖项,但您可以将其用作测试 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>
    Copy to Clipboard Toggle word wrap
  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>
    Copy to Clipboard Toggle word wrap
  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));
        }
    
    }
    Copy to Clipboard Toggle word wrap
  6. 要运行测试,请输入以下命令:

    ./mvnw clean verify
    Copy to Clipboard Toggle word wrap

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

注意

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部