zoukankan      html  css  js  c++  java
  • Java程序员的日常—— Spring Boot单元测试

    关于Spring boot

    之前没有用Spring的时候是用的MockMvc,做接口层的测试,原理上就是加载applicationContext.xml文件,然后模拟启动各种mybatis连接池等等。

    后来web工程改造成了Spring boot,首先发生变化的就是配置文件,原来的xml改成了proerties或者yml。另外,原来的http接口改成了dubbo,接口层的测试就更困难了。

    所以单元测试改成了直接对service层的测试,即按照原来的模式,模拟启动applicationContext,然后顺带启动其他的服务,获得service的bean,然后请求各种数据库。

    总结起来发生变化的地方是:

    @RunWith(SpringJUnit4ClassRunner.class)
    @SpringBootTest(classes = Application.class)
    @WebAppConfiguration
    public class KJRecommendTest {
    
        @Autowired
        private MyService myService;
    
        @Test
        public void test(){
    	    //assert
        }
    }
    

    这样就可以了。

    关于单元测试

    其实良好的单元测试应该想到各种复杂的情况,进行相应的测试,即做好各种边界的测试,这也是一个开发最基本考虑问题的因素。因此在开发编写单元测试时,有几个常用的方法可以使用:

    assertEquals 是否相等

    Assert.assertEquals(myService.query().size(),10);
    

    assertThat 支持复杂点的比较

    Assert.assertThat(list.size(), Matchers.allOf(Matchers.greaterThan(0), Matchers.lessThan(31)));
    

    这个Matchers是引用org.hamcrest里面的,别引错啦

  • 相关阅读:
    关于程序中以时间判断接收数据结束时,接收数据长度设置为1时,出现接收不全的问题解释。
    stm32 外部8M晶振 改为12M的方法
    django iis 部署
    电信NB卡
    socketserver
    APScheduler简介
    三极管开关电路
    mysql授权
    解决VMware无法共享ubuntu虚拟机文件
    Python解析yaml配置文件
  • 原文地址:https://www.cnblogs.com/xing901022/p/7300877.html
Copyright © 2011-2022 走看看