美文网首页
Spring中的测试

Spring中的测试

作者: iMikasa_ | 来源:发表于2021-09-04 14:12 被阅读0次

我们先从最基础的spring项目说起
1.首先是依赖

<dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>4.9</version>  
            <scope>test</scope>  
        </dependency>   
<dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version> 3.2.4.RELEASE  </version>  
            <scope>provided</scope>  
</dependency> 

2.测试类

@RunWith(SpringJUnit4ClassRunner.class)   
@ContextConfiguration(classes=MyConfig.class) //加载配置文件  
public class BaseJunit4Test {  
}  

@RunWith :是Junit的注解,它会提供一个测试运行器来指导JUnit如何运行测试。

SpringJUnit4ClassRunner有个别名,更方便记,SpringRunner,可以写为@RunWith(SpringRunner.class)

@ContextConfiguration(classes=MyConfig.class) : 此注解是在MyConfig.class中加载配置。

以上类的作用:开始测试的时候自动创建Spring应用上下文,并加载配置类里面的bean,测试的时候仅需使用注入这些bean即可


springboot中的测试

package soundsystem;

import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SprinRunner.class)
@SpringBootTest
public class CDPlayerTest {

}

@RunWith是Junit4提供的注解,将Spring和Junit链接了起来。假如使用Junit5,不再需要使用.@ExtendWith注解,@SpringBootTest和其它@*Test默认已经包含了该注解。

@SpringBootTest替代了spring-test中的@ContextConfiguration注解,目的是加载ApplicationContext,启动spring容器。

使用@SpringBootTest时并没有像@ContextConfiguration一样显示指定locations或classes属性,原因在于@SpringBootTest注解会自动检索程序的配置文件,检索顺序是从当前包开始,逐级向上查找被@SpringBootApplication或@SpringBootConfiguration注解的类。

相关文章

网友评论

      本文标题:Spring中的测试

      本文链接:https://www.haomeiwen.com/subject/zwjrwltx.html