SpringBoot教程-Spring Boot 测试启动器
Spring Boot Starter Test spring-boot-starter-test是用于测试的主要依赖项。它包含了大部分测试所需的元素。
我们可以编写多种不同类型的测试来帮助测试和自动化监控应用程序的健康状况。在开始任何测试之前,我们需要集成测试框架。
对于Spring Boot项目,我们只需添加spring-boot-starter-test依赖项来进行测试。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.2.2.RELEASE</version>
<scope>test</scope>
</dependency>
它会自动拉取与测试相关的所有依赖项。添加了这个依赖项后,我们可以构建一个简单的单元测试。我们可以通过IDE创建Spring Boot项目,也可以使用Spring Initializr生成项目。
注意:如果您是手动添加测试依赖项,请将其添加到pom.xml文件的底部。 在上面的依赖项中,需要注意一个事项,它包含了<scope>test</scope>。这意味着在将应用程序打包和部署时,所有声明为test范围的依赖项都将被忽略。测试范围的依赖项仅在开发和运行Maven测试时可用。
当我们创建一个简单的Spring Boot应用程序时,默认情况下,pom.xml文件中包含test依赖项,并且在src/test/java文件夹下会有一个ApplicationNameTest.java文件。
让我们创建一个简单的Maven项目。
Spring Boot Starter Test示例
步骤1:打开Spring Initializr https://start.spring.io/。
步骤2:提供Group name和Artifact Id。我们提供了Group name为cn.javatiku,Artifact为spring-boot-test-example。
步骤3:添加Spring Web依赖。
步骤4:点击Generate按钮。点击Generate按钮后,它会将所有与项目相关的规范打包,并将Jar文件下载到我们的本地系统。
步骤5:解压下载的Jar文件。
步骤6:将文件夹导入到STS。导入需要一些时间。
File -> Import -> Existing Maven Projects -> Browse -> 选择文件夹spring-boot-test-example -> Finish
导入项目后,在STS的Package Explorer部分中可以看到以下项目目录。
我们可以看到在上面的目录中,它包含了一个名为SpringBootTestExampleApplicationTest.java的测试文件,在文件夹src/test/java中。
SpringBootTestExampleApplicationTest.java
package cn.javatiku.springboottestexample;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringBootTestExampleApplicationTests
{
@Test
void contextLoads()
{
}
}
上面的代码默认使用了两个注解:@SpringBootTest和@Test。
@SpringBootTest:它用于运行基于Spring Boot的测试类。它在常规的Spring TestContext框架之上提供以下功能:
- 如果没有明确指定@ContextConfiguration(loader=...),它会使用SpringBootContextLoader作为默认的ContextLoader。
- 当未使用嵌套的@Configuration且未指定显式类时,它会自动搜索@SpringBootConfiguration。
- 它提供了对不同WebEnvironment模式的支持。
- 它为使用web服务器的Web测试注册了TestRestTemplate或WebTestClient bean。
- 它允许使用args属性定义应用程序参数。
步骤7:打开SpringBootTestExampleApplicationTest.java文件并将其运行为Junit Test。
当我们运行上面的代码时,会显示如下结果: