第 1 章 验证测试依赖项
在本教程中,您必须有一个完整的 Quarkus Getting Started 项目,以及项目 pom.xml 文件必须包含 quarkus-junit5 和 restassured 依赖项。如果您已完成 Quarkus 入门练习,或者您下载了已完成的示例,则这些依赖项将出现。
-
测试需要
quarkus-junit5依赖项,因为它提供控制测试框架的@QuarkusTest注释。 不要求依赖
rest-asred依赖项,但您可以将它用作测试 HTTP 端点的便捷方式。注意Quarkus 提供自动设置正确 URL 的集成,因此不需要配置。
流程
-
打开 Getting Started 项目
pom.xml文件。 验证文件中是否存在以下依赖项,并根据需要添加它们:
<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>验证您的
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>-
设置
java.util.logging.manager系统属性,以使用正确的日志管理器进行测试。 验证
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)); } }要运行测试,请输入以下命令:
./mvnw clean verify您还可以直接从 IDE 中运行测试。
注意
此测试使用 HTTP 直接测试 REST 端点。触发测试时,应用将在测试运行前启动。