SpingBoot 365计划开始更新了,计划手敲365个SpringBoot案例回顾总结形成知识体系。目前已经输出了32节的内容。所有源码托管在GitHub和Gitee上。
一般我们在写某个功能后,就会使用测试数据,验证我们的代码是否能输出预期的值。这时候就会用到单元测试。SpingBoot官方给我们提供了
spring-boot-starter-test
测试组件。
在上一节项目的基础上pom.xml引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency>
com.rumenz.lession2.HelloWorldTest2HelloWorld
文件使用
@SpringBootTest
和@AutoConfigureMockMvc
注解。com.rumenz.lession2.HelloWorldTestHelloWorld
HelloWorldTestHelloWorld.java
@SpringBootTest @AutoConfigureMockMvc public class HelloWorldTestHelloWorld { @Autowired private MockMvc mockMvc; @Test public void testHelloWorld() throws Exception { this.mockMvc.perform(MockMvcRequestBuilders.get("/")).andDo(MockMvcResultHandlers.print()) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("入门小站"))); } }
使用
@WebMvcTest
注解,com.rumenz.lession2.HelloWorldTest2HelloWorld
/** * @className: HelloWorldTestHelloWorld * @description: TODO 类描述 * @author: 入门小站 rumenz.com 微信公众号:入门小站 * @date: 2021/10/31 **/ @WebMvcTest public class HelloWorldTest2HelloWorld { @Autowired private MockMvc mockMvc; @Test public void testHelloWorld() throws Exception { this.mockMvc.perform(MockMvcRequestBuilders.get("/")).andDo(MockMvcResultHandlers.print()) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("入门小站"))); } }
在@Test注解处右键,
Run 'testHelloWorld()' with 'Allocation Profiler'
本小结源码地址:
介绍