Spring-SpringTest

Spring-SpringIoC-SpringTest

我们在测试代码的过程中,每一次都要创建容器 -> 获取Bean -> 调用方法

使用Spring提供的测试工具可以更方便我们进行代码的测试

依赖需求:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${spring.version}</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>

@SpringJUnitConfig

在测试类上加入注解@SpringJUnitConfig,此类由Spring接管并且标记为测试类

使用组件时,无需创建容器,直接声明组件后使用@Autowired注入即可

import com.xiaobai.config.JavaConfiguration;
import com.xiaobai.controller.StudentController;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

@SpringJUnitConfig(value = JavaConfiguration.class)
public class SpringTest {
    @Autowired
    StudentController studentController;
    @Test
    public void test() {
        studentController.queryAll();
    }
}

这样就省去了创建容器和获取Bean组件对象的两个步骤,由IoC将组件直接注入到我们的测试类中