首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

5步学完spring boot单元测试,与postman有什么优点?

目前主流的postman,现在还有新出来postwoman,实际上idea也有支持HTTP测试。对于单元测试,他们都不能很好的实现,还是springboot的单元测试最合适的。今天就来搭建一下spring boot的单元测试,再来感受他们各自的优点。

目前大多数项目已经实现了前后端分离。作为后端开发,在开发完成后很有必要进行接口的自测。目前主流的postman,现在还有新出来postwoman,实际上idea也有支持HTTP测试。

平时一般都是用上面的工具自测也就够了,但是他们都是基于接口层面的http请求测试!对于单元测试,他们都不能很好的实现,还是springboot的单元测试最合适的。

今天就来搭建一下spring boot的单元测试,再来感受他们各自的优点。

1、添加依赖

2、创建父类

在项目里有可能会出现下面的情况,也就是idea并没有把test文件夹下面的文件当成源文件,解决步骤也简单。两步搞定:

a、首先在File下的Project Strncture 如下图。

b、然后如下图,在modules中选中对应的项目,然后选择右边test下面的Java文件夹,单击上面的Test,就完成了。这个不仅能解决test,其他的也可以。比如新建一个源文件,如果不能识别,那么也可以这样操作。

最后在test源文件下面创建测试的父类,这个类作为父类,可以在类的注解上加一些通用的注解,比如@RunWith、@SpringBootTest。这样作为其他测试类只用继承这个类就行了。而且可以在父类里面做一些统一的配置之类的。

3、创建具体测试类

具体的测试类,继承至上面的父类,然后在具体的测试方法上面加上@Test,就可以实现测试了!利用断言Assert进行测试。

4、总测试类

spring boot有一个我觉得最好的功能,需要单独拉出来说一下,那就是全测试。只需要在类上加上@Suite注解,在里面加上你写的测试类,那么只需要执行这一个类,加入进去的测试类里面的测试方法都会执行一遍。

5、其他功能

测试里面还有一个很好的一个注解@Transactional,这个和平时的事务注解完全不同,加上这个注解可以使这个方法对数据库的操作进行回滚。如下这个图片就不会保存到数据库,结合上@Rollback注解可以控制。@Transactional是否有用,默认true,具体如下:

6、总结

上面总结spring boot单元测试常用和好用的几个注解,基本能满足我们平时的需求。还有几个注解也是可以了解的:

@Before:注释的方法会在这个类每个测试方法之前运行,可以做一些初始化或记录。

@BeforeClass:注释静态方法,在所有方法之前执行一次,一般用于公共配置。

@After:注释的方法会在这个类每个测试方法之后运行,一般用于重置某些变量。

@AfterClass:所有方法之后执行一次,一般用清理作用,比如数据库连接。

@Ingore:注释的方法不会被执行。

对比:

spring boot的测试主要针对方法层面,并且可批量、可回滚。

postman、postwoman针对接口进行http测试,用这个比较多,创建的测试接口可保存、分类。(我几年前的接口都在,可以记录我做过那些项目)

idea的http测试用的不多,不是太了解!不过比postman好的是少开一个软件,一个软件搞定开发和测试。

只有多方面的学习了解,才能知道他们的优缺点,然后才能在具体的场景选择合适的工具,提升工作效率。

Java程序员日常学习笔记,如理解有误欢迎各位交流讨论!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200312A0UU6R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券