一、pom引入
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
二、常用注解
-
@RunWith(SpringRunner.class)
JUnit运行使用Spring的测试支持。SpringRunner是SpringJUnit4ClassRunner的新名字,这样做的目的
仅仅是为了让名字看起来更简单一点。 -
@SpringBootTest
该注解为SpringApplication创建上下文并支持Spring Boot特性,其
webEnvironment
提供如下配置:Mock
-加载WebApplicationContext并提供Mock Servlet环境,嵌入的Servlet容器不会被启动。RANDOM_PORT
-加载一个EmbeddedWebApplicationContext并提供一个真实的servlet环境。嵌入的Servlet容器将被启动并在一个随机端口上监听。DEFINED_PORT
-加载一个EmbeddedWebApplicationContext并提供一个真实的servlet环境。嵌入的Servlet容器将被启动并在一个默认的端口上监听
(application.properties配置端口或者默认端口8080)。NONE
-使用SpringApplication加载一个ApplicationContext,但是不提供任何的servlet环境。 -
@MockBean
在你的ApplicationContext里为一个bean定义一个Mockito mock。
-
@SpyBean
定制化Mock某些方法。使用
@SpyBean
除了被打过桩的函数,其它的函数都将真实返回。 -
@WebMvcTest
三、示例
@RunWith(SpringRunner.class) @SpringBootTest(classes = 入口类名.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class BicService { @Test public void test(){ } }