专业的JAVA编程教程与资源

网站首页 > java教程 正文

springboot测试与部署!(springboot @test)

temp10 2025-06-10 01:07:08 java教程 2 ℃ 0 评论

测试与部署

Spring Boot之所以使用简单,是因为它的工程最终打包成了一个JAR包,并内嵌了Web容器,如Tomcat等,然后以JAR包的形式直接运行。随着云原生和云平台的发展,Spring Boot与Spring Cloud可以完美集成并被部署到云平台上。

测试

Spring Boot提供了很多实用的测试注解,可以在测试时使用。通常情况下,测试由spring-boot-test(包含核心元素)和springboot-test-autoconfigure(支持自动配置测试)两个模块支持,开发人员只需要依赖spring-boot-starter-test包即可。如果应用依赖了spring-boot-starter-test包,则同时依赖表3.3中的类库。

springboot测试与部署!(springboot @test)


如果使用的是JUnit 4,则需要添加@RunWith(SpringRunner.class)注解;如果使用的是JUnit 5,则不需要添加该注解。Spring Boot提供了@SpringBootTest注解,当需要测试Spring Boot的特性时,该注解可以作为@ContextConfiguration注解的替代。@SpringBootTest注解通过SpringApplication创建测试中使用的ApplicationContext。

在默认情况下,@SpringBootTest注解不会启动服务器。可以通过设置@Spring-BootTest注解的webEnvironment属性来修改测试的运行方式。webEnvironment属性的取值如下:

MOCK(默认):加载Web应用程序上下文并提供模拟Web环境。使用该属性值不会启动嵌入的服务器,它可以与

@AutoConfigureMockMvc或@
AutoConfigure-WebTestClient注解结合使用。

RANDOM_PORT:加载一个
WebServerApplicationContext应用上下文并提供一个真实的Web环境。启动嵌入的服务器并在随机端口上进行监听。

DEFINED_PORT:加载
WebServerApplicationContext应用上下文并提供真实的Web环境。启动嵌入的服务器并在配置的端口上监听(在application.properties文件中配置)或者在默认端口8080上监听。

NONE:使用SpringApplication加载ApplicationContext应用上下文,但不提供任何Web环境。

以3.1.2节中新建的工程为例,测试一下HiController.java接口。代码如下:

@SpringBootTest(webEnvironment =

SpringBootTest.WebEnvironment.

RANDOM_PORT)

class SpringBootExampleApplicationTests {

@Test

public void testHiController(@Autowired

TestRestTemplate rest

Template) {

String body =

restTemplate.getForObject("/hi/springBoot",

String.class);

System.out.println(body);

}

}

如要要测试Spring MVC controllers是否正确工作,可以使用@WebMvcTest注解;如果要测试WebFlux,则使用@WebFluxTest注解。

Spring Boot test框架还提供了很多数据测试的注解,如@DataJpaTest、@JdbcTest、@DataMongoTest、@Data-RedisTest,以及客户端测试注解@RestClientTest等。

打包

在使用Spring Boot进行开发时,如果希望修改类文件或者配置文件后让修改立即生效,则需要用到热部署。在Spring Boot应用的pom文件中添加以下依赖:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

<optional>true</optional>

</dependency>

如果是MAVEN工程,Spring Boot提供了打包插件,在pom文件中集成以下插件即可。

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<configuration>

<executable>true</executable>

</configuration>

</plugin>

打包之后是一个JAR包,直接使用$ java -jar spring-bootexample.jar命令即可运行。Spring Boot的测试和部署会在后面的章节中继续介绍。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表