第 1 章 验证测试依赖项
在本教程中,您必须有一个已完成的 Quarkus Getting Started 项目,并且项目 pom.xml 文件必须包含 quarkus-junit5 和 rest-assured 依赖项。如果您完成了 Quarkus 入门操作,或者下载了完成的示例,则会出现这些依赖项。
-
测试需要
quarkus-junit5依赖项,因为它提供了控制测试框架的@QuarkusTest注解。 不需要
rest-assured依赖项,但您可以将其用作测试 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 端点。触发测试后,应用程序将在测试运行前启动。