当前位置:网站首页 > 技术经理的晋升之路 > 正文

junit mock 方法(junit如何mock方法中的变量)



在单元测试中,代码里面往往有一些需要连接数据库、调用第三方远程的代码。

由于没有环境,这些代码的存在,会给单元测试造成影响。

所以我们在单测中,往往会使用的方式对这些代码做一个数据的模拟,从而达到对代码进行测试的一个目的。

所以单测需要满足以下几点

所以我们就有了,它可以模拟对象,模拟对象方法的返回值,来完成。

本文使用的是,它是由的基础上开发而来,语法规则基本一致,同时也有一些自己的增强,可以对静态方法,局部变量进行。

假设我们有下面这两段代码和

还有一段

上面代码所做的功能就是,插入一个实体至数据库。

在插入前,我们根据是否有值,给予的值

故此,上面的代码需要连接数据库,我们在单测时,直接对进行即可

首先,先导入依赖,根据自己的需要进行删减使用

代码如下

执行结果如下,保证两个测试方法如预期通过即可

1)如何对无返回值的方法进行断言

假设有一个无返回值的方法,我们要针对它进行测试。由于它没有返回值,就没有办法对其返回值进行断言校验。

那么针对这种情况,一个方法,就算是无返回值的情况。内部一定做了一些什么操作。所以我们一般有两种方式

上再加一个无返回值的方法

如下

那么我们可以这样

2)对属局部对象进行mock并设置

如果一个方法中,有一个自己实例化的一个局部变量,那么我们该如何对其进行呢?

例如下面这个方法,有一个自己的局部变量,并返回了这个局部变量的数量

我们只需要这样进行,即可以完成对局部变量的

3)对静态方法mock

如何对静态方法的返回值进行

先在添加一个静态方法,其中发现是一个静态方法

针对上面的方法,我们可以这样进行,注意注解,一定要写上,改变了其中的字节码

4)mock final修饰的类和方法

首先我们先写一个工具类,这个工具类是修饰的,里面的方法也是的

单测这个方法

测试类

5)异常的情况

有些时候,代码是会发生异常的,那么在单测的环境下,我们需要判断这些异常是什么,是不是符合预期

如下这个方法,我们只需要传个,就会发生的异常

测试用例

推荐一个很好用的插件,这个插件可以快速生成单元测试代码

我是半月,你我一同共勉!!!

到此这篇junit mock 方法(junit如何mock方法中的变量)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 华为模拟器查看路由命令(华为模拟器路由器配置命令)2025-03-07 09:36:07
  • 数组方法map会改变原数组吗(数组中的map方法)2025-03-07 09:36:07
  • 反激电路的原理(反激电路原理图EMC)2025-03-07 09:36:07
  • 单片机程序烧录连接线路图(单片机烧录电路图)2025-03-07 09:36:07
  • 华为模拟器路由器网关怎么配(华为模拟器路由器接口配置ip地址)2025-03-07 09:36:07
  • 反激电路电流波形图(反激电路概念)2025-03-07 09:36:07
  • 双管反激电路(双管反激电路和单管区别)2025-03-07 09:36:07
  • vue中的父子组件传值(vue父子组件之间的传值)2025-03-07 09:36:07
  • 开始中的多级列表在哪里(多级列表起始编号总是从2开始)2025-03-07 09:36:07
  • 电路图hg(电路图HG表示什么意思)2025-03-07 09:36:07
  • 全屏图片