如何模拟 Object.getClass?

2024-03-26

我正在开发一个 Java 项目,想要为 DTO 中的 .equals 方法编写单元测试。在 .equals 方法中,有一个 .getClass() 方法由两个被测试对象调用。我想模拟这个,但我不知道它想要什么类型的对象。我试过,

when(mockRoomInv.getClass()).thenReturn(RoomInv.class);

但肯定没有做任何事情。 getClass 的返回类型是什么?如何操作它?


As Object.getClass()是最终的,你不能用 Mockito 模拟该方法。我强烈建议您重构代码以以另一种方式注入类。如果这不可能,你可以尝试一下电源模拟 http://code.google.com/p/powermock/,您可以在其中模拟任何最终方法。Object.getClass()有点特殊,所以一定要设置MockGateway.MOCK_GET_CLASS_METHOD = true在 powermock 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何模拟 Object.getClass? 的相关文章

  • 获取jdbc中表依赖顺序

    我在 MySQL 数据库中有一组表 A B C D 依赖关系如下 B gt C gt A 和 D gt A 也就是说 A 有一个 PrimaryKey C 有一个外键指向 A 的主键 B 有一个外键指向 C 的主键 类似地 D 有一个外键指
  • 如何使用 Java 创建多个模式连接?

    我必须使用两个数据库 DB2 Oracle 我在 DB2 数据库中有一个名为NAVID 我想使用 Java 为 Oracle 中的所有表创建相同的架构 public class automateExport static String va
  • 以点作为分隔符分割字符串

    我想知道我是否要在一个字符串上分割字符串 正确的方式 我的代码是 String fn filename split return fn 0 我只需要字符串的第一部分 这就是我返回第一项的原因 我问这个是因为我在 API 中注意到 意味着任何
  • 如何在Mac上使用eclipse安装jetty

    我是一个新手 jetty 和 RESTful API 我想使用 Jetty 创建 REST 服务 并希望将嵌入式 jetty 与 eclipse 一起使用 任何人都可以建议我在 Mac OS 中使用 Eclipse 安装 Jetty Jet
  • WebLogic 10 中的临时目录

    每当 WL 停止时 它都不会删除其临时目录 即 domains mydomain servers myserver tmp WL TEMP APP DOWNLOADS domains mydomain servers myserver tm
  • 从剪贴板获取图像 Awt 与 FX

    最近 我们的 Java FX 应用程序无法再从剪贴板读取图像 例如 用户在 Microsofts Paint 中选择图像的一部分并按复制 我不是在谈论复制的图像文件 它们工作得很好 我很确定它过去已经有效 但我仍然需要验证这一点 尽管如此
  • 为什么一个线程会中断另一个线程[重复]

    这个问题在这里已经有答案了 在Java多线程应用程序中 我们处理InterruptedThreadException 如果另一个线程中断当前线程 则会抛出此异常 现在 当另一个线程知道它将导致异常时 它可能想要中断当前线程的原因是什么 很多
  • 如何屏蔽 Protobuf 中的某些字段

    我找不到一种方法来屏蔽 protobuf 结构中的某些字段 我确实阅读了有关 FieldMaskUtil 的内容并尝试了几个示例 但它似乎做了相反的操作 即复制 FieldMask 中提到的字段 这与我想要的不同 这是示例结构和相应的测试代
  • 如何在Gradle中支持多种语言(Java和Scala)的多个项目?

    我正在尝试将过时的 Ant 构建转换为 Gradle 该项目包含约50个Java子项目和10个Scala子项目 Java 项目仅包含 Java Scala 项目仅包含 Scala 每个项目都是由 Java 和 Scala 构建的 这大大减慢
  • 如何获取 Android 中临时文件的文件大小?

    如果我使用 openFileOutput 创建并写入临时文件 写入完成后如何获取文件大小 我希望这可以帮助你 File file new File selectedPath int file size Integer parseInt St
  • 更改 RowLayout SWT Java 中元素的顺序

    有没有办法更改在行布局中创建的元素的顺序 我想将其显示在元素中 首先显示 例如 如果我创建 element1 则 element2 element3 element4 我想看到的布局为 元素4 元素3 元素2 元素1 这意味着最后创建的元素
  • 为什么 RMI 注册表忽略 java.rmi.server.codebase 属性

    我正在运行 java RMI 的 Hello World 示例 1 我在空文件夹中运行注册表 motta motta laptop tmp rmiregistry 2 我启动 HTTP 服务器以在运行时检索类 下载文件夹包含客户端 服务器的
  • setKeyListener 将覆盖 setInputType 并更改键盘

    大家好 我在两个设备之间遇到问题 在实践中使用InputType和KeyListener我正在操纵一个EditText让它从数字键盘接收逗号和数字 有关更多背景信息 请检查我之前的question https stackoverflow c
  • Jenkins 管道和 java.nio.file.* 方法的问题

    我正在尝试使用 java nio file 中的方法在 Jenkins 管道中执行一些基本文件操作 无论代码存在于哪个节点块中 代码都在主节点上执行 在管道中 我已经验证了各个节点块都是正确的 它们唯一地标识了特定的节点 但是 pathEx
  • 无法在 BlackBerry Playbook 上设置音量

    我在更改黑莓游戏书的音量时遇到问题 首先 我将 Android 应用程序重新打包到 Palybook 应用程序 我需要使用搜索栏更改黑莓剧本的音量 并在搜索监听器中设置音频管理器音量 这是代码 audioManager AudioManag
  • JPA - 非主键字段上的 @OneToOne 关系不起作用

    我有一个 Spring Data JPA 后端 使用 Hibernate 作为 ORM 实现 这是模型 Person MailConfig id PK uid PK FK Person uid uid Entity
  • Java中的媒体播放器库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在评估用于在 Java 中播放音频 视频的库 它不需要 100 Java Java 与本机库的绑定
  • 条件查询:按计数排序

    我正在尝试执行一个标准查询 该查询返回 stackoverflow 中回答最多的问题 例如常见问题解答 一个问题包含多个答案 我正在尝试使用标准查询返回按每个问题的答案数排序的回答最多的问题 任何人都知道我应该在 hibernate cri
  • 在多线程环境中,Collections.sort 方法有时会抛出 ConcurrentModificationException。列表没有进行结构性修改

    package CollectionsTS import java util ArrayList import java util Collections import java util HashSet import java util
  • RecyclerView 不调用 onCreateViewHolder 或 onBindView

    没有收到任何错误 所有数据似乎都有效 由于某种原因 没有调用与视图相关的方法 我已确定以下事项 getItemCount 是唯一被调用的适配器方法 并且返回一个正整数值 我知道这将是你们将要查看的区域 构造函数正在被调用 成员变量有效 Pa

随机推荐

  • 如何在 Scala 中分割给定位置列表的字符串

    你会怎样写一个功能性的实施split positions List Int str String List String 这类似于splitAt但将给定的字符串拆分为list给定位置列表的字符串 例如 split List 1 2 abc
  • 对 Range-v3 压缩容器进行排序 - 我可以解压吗?

    是否可以使用 C 解压之前压缩的向量Range v3 库 https github com ericniebler range v3 我希望它的行为与 Haskell 类似unzip http hackage haskell org pac
  • 回复卡未显示 -Amazon lex

    我创建了一个 lex 聊天机器人并将其集成到网站中 它工作正常 我知道我必须从 lambda 调用响应卡 我也这样做了 另外 我在 lex 控制台中启用了响应卡复选框 毕竟 我也看不到网站中的按钮 除了响应卡之外 还有其他方式显示按钮吗 下
  • Pyenv 的 python 缺少 bzip2 模块

    我使用 pyenv 安装 python 3 8 2 并创建一个 virtualenv 在virtualenv中 我使用pipenv来安装pandas 但是 当导入 pandas 时 我得到以下信息 File home luislhl pye
  • roxygen2 importFrom 和二元运算符

    格式化呼叫的方式是什么importFrom使用时roxygen2 我可以看到两种方法 importFrom base in or importFrom base in 显然我们不会将基本函数导入到包中 但这是为了演示 我测试了一下HERE
  • 如何给listview添加跑马灯效果?

    我在 ArrayList 中有我的朋友列表 我正在尝试使用 ArrayAdapter 和 rowlayout xml 在列表视图中显示它
  • Python 3 和二进制文件的 base64 编码

    我是 Python 新手 确实有一个问题困扰着我 我使用以下代码获取 zip 文件的 Base64 字符串表示形式 with open C Users Mario Downloads exportTest1 zip rb as file z
  • 停止 Eclipse/Java 运行多个实例

    我不是 java 专家或 eclipse 专家 目前我正在开发一个项目 我需要经常调试 测试 我使用 eclipse run 按钮 但是当我不关闭程序 eclipse java 时 它会再次打开 第二个窗口 这是一个带有 swing jfr
  • 使用 Windows Installer 取消 Windows 服务安装/卸载会导致服务安装/卸载不完整

    我已经使用 VS 2017 为 Windows 服务创建了一个 Windows Installer Windows 服务内部有一个项目安装程序和服务安装程序类 当我中途取消卸载过程时 该过程会删除 Windows 服务 但不会更新数据 因此
  • 前置声明有哪些危险?

    我刚刚接受采访 有人问我什么是 前瞻性声明 然后有人问我是否存在与前瞻性声明相关的危险 我无法回答第二个问题 在网上搜索并没有出现任何有趣的结果 那么 有人知道使用前向声明有什么危险吗 好吧 除了重复的问题之外 标准中至少有一个痛处 如果你
  • 从 String java 或 javascript 中修剪 和
    标签

    我想使用 java 或 javascript 从字符串中删除开头和结尾的 br 和 nbsp 标签 输入和所需的输出托管在 jsfiddle net 中 因为 Stackoverflow 不允许我发布 html 内容 http jsfidd
  • Java Swing 中的 PNG 渲染不良(颜色深度低)

    我目前正在使用 swing 在 java 中设计吃豆人 我有使用以下语句在屏幕上绘制的 PNG 图像 wall new ImageIcon GamePanel class getResource wall png getImage g2d
  • 如何使用 PowerShell 将“date-1”格式设置为 mm-dd-yyyy?

    一个人如何得到date 1并在 PowerShell 中将其格式化为 mm dd yyyy 示例 如果今天是 2013 年 11 月 1 日 我的代码中需要 10 31 2013 我以前使用过 AddDays 1 但我似乎无法让它与任何格式
  • 启动 PyQt 应用程序而不阻塞主线程

    我正在向现有应用程序添加 PyQT UI 我必须初始化QAppliaction通过我在主线程上从该应用程序收到的回调 我无法从回调中同步执行此操作 因为我最终必须调用app exec 这是阻塞的 阻止现有应用程序继续运行 显然 生成常规线程
  • 将 JSON 数组读入类似 Julia DataFrame 的类型

    给定一个 JSON 文件 JSON 包会愉快地解析它 但如果我想把它作为DataFrame 或任何其他柱状数据结构 获得它的好方法是什么 目前 例如 我有 using JSON using DataFrames json str color
  • 使用 powershell 从多台计算机中提取注册表值

    我和一位同事正在尝试创建一个 powershell 脚本 该脚本使用一个 CSV 文件 其中包含公司网络上所有计算机的名称 并使用这些名称连接到远程注册表并提取特定值 这是我们目前所拥有的 strMachineName import csv
  • MySQL存储过程中用于选择数据的if语句

    我有下面的 SQL 代码 DELIMITER CREATE PROCEDURE test new procedure queryString VARCHAR 255 BEGIN SELECT tempValue COUNT FROM tes
  • 被类覆盖的扩展方法不会给出警告

    我在另一个线程中进行了讨论 发现类方法优先于具有相同名称和参数的扩展方法 这很好 因为扩展方法不会劫持方法 但假设您已向第三方库添加了一些扩展方法 public class ThirdParty public static class Th
  • pdf-writer 无效的多字节字符 (US-ASCII) 期望 keywords_end 内容 = "%PDF-#{@version}\n%âãÏÓ\n" Rails 3

    我在尝试运行的协作项目中遇到了 pdf writer gem 的问题 我正在使用RVM Ruby 1 9 2p180 Rails 3 1 0 on Ubuntu 10 10 我创建了一个新的gemset使用 Bundler 安装所需的 ge
  • 如何模拟 Object.getClass?

    我正在开发一个 Java 项目 想要为 DTO 中的 equals 方法编写单元测试 在 equals 方法中 有一个 getClass 方法由两个被测试对象调用 我想模拟这个 但我不知道它想要什么类型的对象 我试过 when mockRo