SpringBoot应用集成测试

2025-02-05

相关注解

@SpringBootTest:在测试类上使用 @SpringBootTest 注解可以启动整个 Spring 应用上下文,这对于测试那些依赖于 Spring 容器的功能非常有用。

classes: 指定启动的 Spring Boot 应用主类或者配置类。如果你不指定,Spring Boot 会默认查找标注了 @SpringBootApplication 的类。

@RunWith(SpringRunner.class) :是 JUnit 测试框架中的一个注解,用于指定测试运行器(Test Runner)。它的主要作用是将 Spring 的测试支持集成到 JUnit 测试中

例如:

下面代码代表该测试类会启动ScheduleApplication应用,并测试容器中TaskService的addTask()方法

@SpringBootTest(classes = ScheduleApplication.class)
@RunWith(SpringRunner.class)
public class TaskServiceImplTest {
    @Resource
    private TaskService taskService;

    @Test
    public void addTask() {
        Task task = new Task();
        task.setTaskType(100);
        task.setPriority(50);
        task.setParameters("task test".getBytes());
        task.setExecuteTime(new Date().getTime());
        long taskId = taskService.addTask(task);
        System.out.println("任务id-----------》"+taskId);
    }
}

其他注解

properties: 允许你指定测试时的一些特定属性,这些属性会覆盖 application.propertiesapplication.yml 中的配置。

@SpringBootTest(properties = {"my.property=value"})

PREV
分布式锁实现方式
NEXT
延迟队列--Redis实现