SpringBoot测试

73 篇文章 0 订阅
52 篇文章 0 订阅

讲解SpringBoot的单元测试

        1、引入相关依赖

             <!--springboot程序测试依赖,如果是自动创建项目默认添加-->
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-test</artifactId>
                    <scope>test</scope>
                </dependency>


        2、使用
 

package xdclass_springboot.demo;

import junit.framework.TestCase;
import net.xdclass.demo.DemoApplication;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)  //底层用junit  SpringJUnit4ClassRunner
@SpringBootTest(classes={DemoApplication .class})//启动整个springboot工程
public class SpringBootTestDemo {
    @Test
    public void testOne(){
        System.out.println("test hello");
        TestCase.assertEquals(1,1);
//断言类是Assert.java,里面有多个静态方法被称为硬断言,硬断言就是,如果运行到折行断言失败,即使该用例,后面还有其他代码行,也不会继续执行下去
    }

    @Test
    public void testTwo(){
        System.out.println("test hello");
        TestCase.assertEquals(1,0);
    }

    @Before
    public void testBefore(){
        System.out.println("test Before");
    }

    @After
    public void testAfter(){
        System.out.println("test After");
    }

}

讲解MockMvc类的使用和模拟Http请求实战

         对于前后端分离的项目而言,无法直接从前端静态代码中测试接口的正确性,因此可以通过MockMVC来模拟HTTP请求。基于RESTful风格SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试。

         1、增加类注解 @AutoConfigureMockMvc
                                 @SpringBootTest(classes={XdclassApplication.class})
        2、相关API
            perform:执行一个RequestBuilder请求
            andExpect:添加ResultMatcher->MockMvcResultMatchers验证规则
            andReturn:最后返回相应的MvcResult->Response


@RunWith(SpringRunner.class)  //底层用junit  SpringJUnit4ClassRunner
@SpringBootTest(classes={DemoApplication.class})//启动整个springboot工程
@AutoConfigureMockMvc //自动配置mvc,mockmvc会模拟客户端的请求
public class MockMvcTestDemo {
    @Autowired
    private MockMvc mockMvc;//把它注入进来,相当于创建了一个客户端

    @Test
    public void apiTest() throws Exception{
        MvcResult mvcResult=mockMvc.perform(MockMvcRequestBuilders.get("/test/home")).andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
        //mockMvc构建一个模拟请求
        //MockMvcRequestBuilders用get方法请求
        //andExpect添加一个断言
        //MockMvcResultMatchers.status()获得请求的状态码,isOk()看状态码是否200
        int status= mvcResult.getResponse().getStatus();
        System.out.println(status);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值