---
当前位置: 首页 > 新闻中心

软件测评机构:快试试用Mockito做做软件单元测试吧

0
作者:软件测试小编 发布时间:2023-03-25 浏览次数: 打印

【软件测评机构:快试试用Mockito做做单元测试吧】

   什么是单元测试?跟河南省电子规划院软件测评机构小编一起来了解一下吧:在计算机编程中,单元测试又称为模块测试,是针对程序模块的最小单位。来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。就是我们在项目中的每一个业务方法,都是一个小模块,小单元,应该进行正确性检测。软件测评测试的目的是为了验证业务逻辑是否正确,方法的各种形式输入是否能够返回正确的输出。  Java项目中单元测试的框架有很多,本文中将使用Mockito框架来给大家进行演示。  为什么选择Mockito框架SpringBoot默认的Mock框架就是Mockito河南省电子规划院软件测评机构小编介绍到,只需要依赖spring-boot-starter-test 之前我相信大家都用过junit来进行单元测试,Mockito也要配合junit来一起使用。那现在为什么不只用junit来进行单测呢? 原因是业务中的依赖问题!当我们执行一个稍微复杂些的业务方法时,会发现它往往会调用很多其他依赖的远程接口来配合才能完成方法的执行,如果使用junit,那么我们就要构造一个完整的依赖出来,当依赖很多时这是非常麻烦的。 1. 单元测试规范 我们所有的测试类都应该写在test包中,如下:  针对于每一个测试业务方法我们都应该进行测试。创建的测试类用测试的类名加上后缀Test来命名,如UserServiceTest。  我们测试的目的是为了验证业务逻辑是否正确,尽可能的避免该业务方法依赖的其他类造成的困扰。而mockito就可以模拟这些调用的过程,自定义返回值。其核心使用了代理机制。 由于mockito的方法都是静态方法,因此我们可以将静态方法全部导入。 import static org.mockito.Mockito.*;  看看导入方法和没有导入方法的区别:  首先我们来看核心的三个注解: 在测试类上标注注解:将要测试的具体实现类作为属性引入进来,并标注注解。  比如需要测试UserService,找到它的实现类UserServiceImpl,作为字段引入进来,并标注该注解。" 在需要依赖到的其他类字段上标注注解。 2.1 制作模拟调用: 我们可以创建两种对象,一种是mock,一种是spy。这两种对象的区别如下:3.如果不对mock对象的methodA打桩,将doNothing,且返回默认值(null,0,false)。2.2 打桩 流程如下: when(执行的方法调用).thenReturn(期望返回结果); 打桩后在执行测试类的过程中遇见了这个方法调用,那么就会直接返回我们设置的期望返回结果。可以看一下上面举出来的例子。

 以上就是河南省电子规划院软件测评机构小编为大家分享的相关内容啦·


ruanjianceshi (8).jpg