您当前的位置: 首页 >  spring

一一哥Sun

暂无认证

  • 4浏览

    0关注

    622博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringBoot2.x系列教程08--新纪元之SpringBoot中编写测试用例

一一哥Sun 发布时间:2020-03-24 22:36:22 ,浏览量:4

SpringBoot系列教程08--新纪元之SpringBoot中编写测试用例作者:一一哥

我们在上一个案例的基础之上,添加spring-boot-starter-test依赖,看看在Spring Boot中如何实现测试用例的编写。

一. 引入Test依赖


        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
二.编写测试类 1.创建测试类

在我们的项目test包里,编写一个测试类,HelloBootAppliationTest类。

2.编写具体的测试用例代码
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MockServletContext.class)
@WebAppConfiguration
public class HelloBootApplicationTest {

    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloBootApplication()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello Spring Boot!")));
    }

}

我们使用MockServletContext来构建一个空的WebApplicationContext,这样我们创建的HelloBootApplication就可以在@Before函数中创建并传递到MockMvcBuilders.standaloneSetup()函数中.

3. 静态导入,使得status、content、equalTo函数可用.
import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
4.执行测试结果

我们可以看到,执行的结果为”绿色“,也就是说现在执行结果没问题!

当我们把预期的结果改成错误的内容,此时再检测,会发现结果出问题了,变成了红色的提示。

使用MockServletContext来构建一个空的WebApplicationContext,这样我们创建的HelloController就可以在@Before函数中创建并传递到MockMvcBuilders.standaloneSetup()函数中.

执行getHello()测试方法,运行正常.

关注
打赏
1665624836
查看更多评论
立即登录/注册

微信扫码登录

0.0489s