JAVA 8 junit 单元测试——静态方法单元测试 Mockito.mockStatic

2023-11-18

静态方法的单元测试Mockito
直接上例子
方法

public ArrayList<SearchFields> convertToSearchFieldsList(HashMap<String, ArrayList<SearchFieldValue>> filter) {
        return ESUtils.convertToSearchFieldsList(filter);
    }

convertToSearchFieldsList方法就是静态方法,可看下:

在这里插入图片描述

单测

import org.junit.Assert;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockedStatic;
import org.mockito.Mockito;

@Test
    public void testConvertToSearchFieldsList() {
        SearchFields searchFields = new SearchFields();
        searchFields.setOperation("2");
        ArrayList<SearchFields> combineRule = new ArrayList<>();
        combineRule.add(searchFields);
        HashMap<String, ArrayList<SearchFieldValue>> filter = new HashMap<>();
        ArrayList<SearchFieldValue> list = new ArrayList<>();
        SearchFieldValue searchFieldValue = new SearchFieldValue();
        searchFieldValue.setVal("er");
        list.add(searchFieldValue);
        filter.put("1",list);
        try(MockedStatic<ESUtils> theMock = Mockito.mockStatic(ESUtils.class)) {
            theMock.when(() -> ESUtils.convertToSearchFieldsList(Mockito.any())).thenReturn(combineRule);
        }
        Assertions.assertThat(ucompanyServiceImpl.convertToSearchFieldsList(filter));
    }

【加粗提示】

try(MockedStatic<ESUtils> theMock = Mockito.mockStatic(ESUtils.class)) {
            theMock.when(() -> ESUtils.convertToSearchFieldsList(Mockito.any())).thenReturn(combineRule);
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA 8 junit 单元测试——静态方法单元测试 Mockito.mockStatic 的相关文章

  • 无法在 Android 10 中创建目录

    我无法在 android 10 中创建目录 它可以在 android Oreo 之前的设备上运行 我尝试了两种创建文件夹的方法 Using File mkdir File f new File Environment getExternal
  • Java Try Catch Final 没有 Catch 的情况下会阻塞

    我正在审查一些新代码 该程序只有一个 try 和一个 finally 块 既然排除了 catch 块 那么如果 try 块遇到异常或任何可抛出的内容 它如何工作 它直接进入finally块吗 如果 try 块中的任何代码可以引发已检查异常
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • 使用cameltestsupport进行Camel单元测试,模板始终为空

    我正在用 Camel 做一个简单的单元测试 我想做的就是从文件 在资源下 读取 JSON 内容 将其发送到 Java 类进行验证 这是我试图测试的路线 无论我做什么 模板 我用来发送正文 json 始终为空 这是我的代码 public cl
  • Spring安全“记住我”cookie在第一个请求中不可用

    我无法在登录请求后检索 Spring 记住我 cookie 但它在对受保护页面的下一个请求中工作正常 谁能告诉我怎样才能立即得到它 我在登录请求中设置了记住我的 cookie 但在 Spring 重定向回原始 受保护的 url 后无法检索它
  • Android 自定义视图不能以正确的方式处理透明度/alpha

    我正在绘制自定义视图 在此视图中 我使用两个不同的绘画和路径对象在画布上绘画 我基本上是在绘制两个重叠的形状 添加 Alpha 后 视图中重叠的部分比图像的其余部分更暗 这是不希望的 但我不知道如何解决它 这是我的代码片段 用于展示我如何在
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 在java中实现你自己的阻塞队列

    我知道这个问题之前已经被问过并回答过很多次了 但我只是无法根据互联网上找到的示例找出窍门 例如this http tutorials jenkov com java concurrency blocking queues html or t
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • 获取给定类文件的目录路径

    我遇到的代码尝试从类本身的 class 文件所在的同一目录中读取一些配置文件 File configFiles new File this getClass getResource getPath listFiles new Filenam
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • 为什么java中的for-each循环中需要声明变量

    for 每个循环的通常形式是这样的 for Foo bar bars bar doThings 但如果我想保留 bar 直到循环结束 我可以not使用 foreach 循环 Foo bar null Syntax error on toke
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false

随机推荐

  • Spring的Factories机制介绍

    项目场景 Spring的Factories机制介绍 Spring的Factories机制介绍
  • 如何使用vscode开发uniapp并运行

    如何使用vscode开发uniapp并运行 1 必须先下载HBuilderX然后导入你需要开发的uni项目 2 然后在vscode中再次打开你的uni项目 3 去vscode插件市场安装一个uni helper这个插件 4 即可在vscod
  • java 利用ganymed-ssh2 远程执行linux shell 命令

    早期的ganymed ssh2包也可以实现远程调研linux shell 命令 但是这个包最新版本是2014年之后 就没有更新了 发现linux 操作系统安装 open ssh 8 5及更高级版本 就一直提示连接失败 可以使用jsch 最新
  • linux内存利用率计算方式

    一 查看内存的方式 root vmware free h root vmware cat proc meminfo 需要使用的指标有 MemTotal MemFree Buffers Cached MemTotal 总内存大小 MemFre
  • 计算半圆弧的周长及半圆的面积

    3 计算半圆弧的周长及半圆的面积 编程并输出半径r 5 3的半圆弧长 提示 半圆弧长不应该加直径的长度 及该半圆弧与直经围成的半圆的面积 的取值为3 14159 要求半径r和必须利用宏常量表示 include
  • MacOS怎么查看进程占用内存是多少

    一 背景 在Linux下可以使用 free 命令来方便的查看内存占用情况 如 free g free m等 但MacOS下没有这个命令 既然如此 那么MacOS里是否有类似的工具呢 而我们又该如何查看整个PC的内存占用情况 及指定进程的内存
  • 慢慢欣赏linux pud_offset解析

    typedef struct pudval t pud pud t gt typedef u64 pudval t dir表示L0页表索引的指针 指向PUD页表的基地址 define pud offset dir addr pud t va
  • 《计算机工程》期刊 从投稿到录用过程

    本人 18级双一流院校全日制研究生在读 专业 地理学 研究方向 激光雷达数据处理与三维点云语义分割 文章投计算机工程期刊从投稿到可刊总周期 两个月之内 审稿费100元 可加急 发表情况 预计十月发表 期刊选择 论文修改完成之后 自己有上网了
  • 教你利用IBM的开发手册

    在IBM AIX下做开发的不少人一直都不知道IBM其实已经提供了详尽的开发文档及手册供开发人员使用 很多人仍然使用很原始的方式 例如在GOOGLE中搜索 或者买本手册型的书放在边上 更有甚者直接记在脑子里 这算是相当聪明的了 但是 有许多与
  • 山石发声

    技术变化快 投入不可控 攻击侧升级 攻防不对等 人才缺口大 维护成本高 山石网科安全运营体系 让安全运营挑战迎刃而解 近年来 全球安全服务市场景气度较高 行业增速远高于安全行业的整体水平 究其原因 首先是IT基础架构的变化驱动安全服务体系的
  • java每日一题:手动触发垃圾回收(GC)

    面试官 首先 我想问一下 你能向我解释一下 手动触发Java垃圾回收 的过程吗 面试者 在Java中 垃圾回收是自动进行的 由Java虚拟机 JVM 负责管理 但是 有时候我们可能希望手动触发垃圾回收以释放一些无用的对象 这可以通过调用Sy
  • Scrapy的基本介绍、安装及工作流程

    一 Scrapy介绍 Scrapy是什么 Scrapy 是用 Python 实现的一个为了爬取网站数据 提取结构性数据而编写的应用框架 异步爬虫框架 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫 抓取指定网站的内容或图片 Scr
  • 程序员搜索技巧

    1 搜索时 一定使用关键字搜索 空格 浓缩减少废话与口语 不断负反馈增添修改关键词 再不行就英文 2 精确搜索 作为整体 用 双引号 3 查找标题含有的确定关键词 intitle 英文冒号 4 站内搜索 过滤垃圾广告 定位某一网址答案 xx
  • Cobertura 统计多模块maven项目测试覆盖率

    Cobertura 统计单元测试覆盖率的机制 运行类 并在一个log文件中记录哪一行被执行 然后将源代码和log文件进行比对 1 简单的情况 单模块maven项目 项目结构 源代码 src main java se sigma calcul
  • OpenCV图像人脸检测及视频中的人脸检测(附源码)

    文章目录 一 数据和知识准备 1 下载HAAR与LBP数据 2 opencv相关知识 二 python opencv实现人脸检测 1 图像单人脸检测 2 图像多人脸检测 3 视频中人脸检测 4 摄像头人脸检测 一 数据和知识准备 1 下载H
  • java中的垃圾回收机制

    概述 JAVA中的垃圾回收机制是自动的 它是保证程序健壮的主要手段 同时也避免了回收内存带来的代码繁琐 注意 1 java中的垃圾回收机制采用的是多线程技术实现的 垃圾回收功能是一条优先级比较低的线程 2 垃圾回收机制仅仅作用于堆内存 和栈
  • Unity一些很有用的技巧

    一 性能 多线程射线检测 在使用中经常需要每帧进行射线 性能消耗比较大 那么可以使用Unity Collections RaycastCommand进行多线程的检查 将耗能操作放到子线程去 同样其他的形状检测 Unity官方文档 Rayca
  • Python每日一记196>>>pandas.core.indexing.IndexingError: Too many indexers

    以下代码出现了pandas core indexing IndexingError Too many indexers问题 import pandas as pd import numpy as np data 2018 pd read e
  • Rust组合器

    组合器 在 Rust 中 组合器更多的是用于对返回结果的类型进行变换 例如使用 ok or 将一个 Option 类型转换成 Result 类型 下面我们来看看一些常见的组合器 or 和 and 跟布尔关系的与 或很像 这两个方法会对两个表
  • JAVA 8 junit 单元测试——静态方法单元测试 Mockito.mockStatic

    静态方法的单元测试Mockito 直接上例子 方法 public ArrayList