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

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

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

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

1、添加依赖

54a12142fc644bfa96e9a0d3c48ddea9

2、创建父类

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

cfec753baab6478092e354f96e5ba808

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

447dd12d1e5a4c88bc6a877307b312d1

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

c08ebcb4288d484f987e8e7c0f565fca

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

da900138a7fb487990cb87956a5703d5

3、创建具体测试类

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

95e002a5114c4be9aa16c198cf4dad18

4、总测试类

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

c67dbbdd8d0446fc8a5bb2e6d4b5e9de

5、其他功能

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

b082adbad950475aa16ac1dd8e2aec55

6、总结

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

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

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

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

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

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

对比:

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

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

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

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值