如何在 Mockito 中模拟 instanceof

2024-03-29

我有一段代码,我想用 Mockito 测试一下:

mockedClass instanceof SampleInterface

The mockedClass被嘲笑的抽象类:MockedClass,以及SampleInterface是一个接口。这是失败点:

Validate.isTrue(mockedClass instanceof SampleInterface, "The mockedClass is not a SampleInterface");

如何模拟这段代码?


听起来你需要MockSettings.extraInterfaces https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/MockSettings.html#extraInterfaces-java.lang.Class...-.

MockedClass mockedClass = mock(MockedClass.class,
    withSettings().extraInterfaces(SampleInterface.class));

请注意,它带有自己的警告标签:

这个神秘的功能应该偶尔使用。被测对象应该确切地知道它的协作者和依赖项。如果您碰巧经常使用它[原文如此],请确保您确实生成了简单、干净且可读的代码。

作为替代方案,创建一个用于测试的接口,该接口扩展了您希望模拟实现的所有接口,并以通常的方式进行模拟。

public abstract class ForTest implements SampleInterface {}

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

如何在 Mockito 中模拟 instanceof 的相关文章

  • JSF:初始请求和回发请求?

    请看一下 JSF 中的下面这行代码
  • 删除列表视图项目之间的间距

    我正在尝试在 Android 中制作一个包含图像的 ListView 我希望图像在列表中彼此相对 但我似乎无法消除间距 这是我的 listview xml
  • 区域设置的 Java 日期格式

    我怎样才能找到DateFormat对于给定的Locale DateFormat getDateInstance int Locale 例如 import static java text DateFormat DateFormat f ge
  • 使用递归查找数组中的最大值

    对于我被要求解决的问题之一 我使用 for 循环找到了数组的最大值 所以我尝试使用递归来找到它 这就是我想到的 public static int findMax int a int head int last int max 0 if h
  • 使用当前用户的凭据进行 javamail NTLM 身份验证

    如何将 JavaMail API 与 NTLM 身份验证结合使用到 Exchange 服务器 而无需指定用户名和密码 而是自动使用当前登录用户的凭据 单点登录 我的目的是让我的客户端程序 在我公司网络中的 Windows 计算机上运行 能够
  • 关于线程的停止

    我开发了一个代码 它将在执行时启动两个线程 public class MyThread1 extends Thread extend thread class public synchronized void run synchronize
  • 递归 - 与 Java 中不重复的数组相结合

    所以我知道如何获取组合的大小 数组大小 在我的例子中 除以所需数组子集大小的阶乘 我遇到的问题是获取组合 到目前为止 我已经阅读了 stackoverflow 上的大部分问题 但一无所获 我认为我发现的问题是我想将创建的组合子集中的元素添加
  • 配置 logback 以遵循 Java 配置,即 Logback 的纯 Java 配置

    我只是不喜欢 Logback 的 XML 或 Groovy 配置 更喜欢用 Java 进行配置 这也是因为我将在初始化后的不同时间在运行时更改配置 似乎对 Logback 进行 Java 配置的唯一方法是进行某种初始化劫持根追加器 http
  • “找不到符号”或“无法解析符号”错误是什么意思?

    请解释以下有关 找不到符号 无法解析符号 或 找不到符号 错误 Java 中 的信息 他们的意思是什么 哪些因素会导致它们 程序员如何修复它们 这个问题旨在对 Java 中的这些常见编译错误进行全面的问答 0 这些错误之间有什么区别吗 并不
  • LDAP中超时的实现

    我一直在处理我们正在使用的应用程序LDAP获取用户详细信息 有时获取用户详细信息需要更多时间 我想实施time out获取详细信息的方法 以便我们可以避免在最坏的情况下在服务器中挂起事务 这里我们使用的是LdapUtil我们在其中配置的类L
  • java SWT透明复合背景

    我有复合对象 Composite composite new Composite shell SWT NONE composite setBounds new Rectangle 10 10 100 100 我如何使这个组合具有透明背景 我
  • 动态添加组件到 JDialog

    当用户单击 JDialog 上的按钮时 我在将组件添加到 JDialog 时遇到问题 基本上我希望它看起来像这样 然后 当用户单击 添加新字段 时 我希望它看起来像这样 我似乎无法打开添加新 JLabel 或 JTextField 的对话框
  • 正确使用Optional.ifPresent()

    我正在尝试理解ifPresent 的方法OptionalJava 8 中的 API 我有一个简单的逻辑 Optional
  • 如何在java中将ojalgo稀疏数组存储到文件中?

    我目前有一个 SparseStore 矩阵 我在其中执行大量计数和计算 我想将其存储到文件中 以便以后可以重复使用它 而无需重新执行之前的所有计算 我尝试了 Java 中的基本序列化 ObjectOutputStream outputStr
  • 当将 Eclipse 与 FindBugs 一起使用时,您可以将错误标记为非错误并将其从错误列表中删除吗?

    FindBugs 在我的代码中发现了潜在的错误 但这不是一个错误 是否可以将此事件标记为 不是错误 并将其从错误列表中删除 我已经非常清楚地记录了为什么每种情况都不是错误 例如 类实现类似的接口 它有compareTo方法 然而 我没有重写
  • 使用 getPathMatcher 的全局模式

    从 OCP 考试的 Kathy Sierra Bert Bates 书中我找到了以下代码 public class FileTest public static void matches Path path String glob Path
  • Spring-WS WSDL生成问题

    我正在尝试制作一个非常简单的 Web 服务 但在让 spring 生成正确的 wsdl 时遇到一些困难 我已尽力复制此示例春季教程 http static springsource org spring ws sites 2 0 refer
  • 在 Spring 中以编程方式解析 AliasFor 注释值

    我有一个注释 Target ElementType TYPE Retention RetentionPolicy RUNTIME public interface A Class value 这是在课堂上使用的 B D class publ
  • Java 8 中接口和抽象类之间的根本区别[重复]

    这个问题在这里已经有答案了 考虑到接口现在可以为其提供的方法提供实现 我无法正确合理地解释接口和抽象类之间的差异 有谁知道如何正确解释其中的差异 我还被告知 从性能角度来看 接口比抽象类更轻量 有人可以证实这一点吗 接口仍然不能有任何状态
  • 如何将钱兑换成零钱

    尝试将输入的数字转换为 25 美分 50 美分 10 美分和 10 分 有几个问题 public class Coins public static void main String args private int quarters di

随机推荐

  • 使用 knit-ess 进行 Polymode 编织 - 不想在 tex 文件名中包含“编织”

    我对 emacs 还很陌生 并且已经习惯在早期版本中使用 Sweave 现在我一直在使用polymode并使用knitr ess进行编织 但是 我想做两个定制 我希望生成的编织名称与文件名相同 即不是 filename writing te
  • 具有未定义行为的分支是否可以被假定为不可访问并优化为死代码?

    考虑以下陈述 char NULL 0 undefined behavior 它显然会调用未定义的行为 给定程序中存在这样的语句是否意味着整个程序未定义 或者只有当控制流命中该语句时行为才变得未定义 如果用户从不输入号码 以下程序是否会被明确
  • 如何从另一种语言单词创建英文字母字符串?

    我需要找到一种方法将某些语言的单词 翻译 重写为英语 例如 俄语 听起来像privet 用英语讲 含义和语法并不重要 但我希望它听起来更相似 一切都应该用Python编写 我在网上努力查找 但没有找到好的方法 例如 类似这样的事情 tran
  • Cocoa:避免控制绑定中的“持续更新”

    我有几个面板 其中包含NSTextField绑定到属性内的控件文件的所有者目的 如果用户编辑字段然后按Tab 移动到下一个字段 它按预期工作 但是如果用户不按Tab只需按 确定 按钮 新值不会在文件的所有者 object 为了解决这个问题
  • 声明后在 C++ 向量中分配元素

    请参考下面的代码和注释 vector
  • 如何在对 C# .NET 3.5 服务器进行 DCOM 调用时可靠地检查客户端身份?

    我有一个旧的 Win32 C DCOM 服务器 我正在重写它以使用 C NET 3 5 客户端应用程序位于远程 Windows XP 计算机上 也是用 C 编写的 这些客户端必须保持不变 因此我必须在新的 NET 对象上实现接口 这已经完成
  • jQuery - 如何选择表中所有行的最后一列?

    假设我有一个 HTML 表 如下所示 带有适当的 tr td 标签 a1 b1 c1 a2 b2 c2 a3 b3 c3 a4 b4 c4 table border 1 tr td a1 td td b1 td td c1 td tr tr
  • 如何保护 Next.js next-auth 中的路由?

    我正在尝试将身份验证与next auth应用程序中的库 我一直在遵循这里给出的官方教程https github com nextauthjs next auth example https github com nextauthjs nex
  • Laravel 6 中未定义 Artisan 命令“make:auth”

    我在 Laravel 6 中创建登录 身份验证时遇到问题 我在终端中输入 make auth 然后收到错误 Command make auth 似乎未定义 有解决办法吗 看起来 L6 将 Auth 脚手架移至一个单独的包 https git
  • 实体框架的 SQL 运算符函数是否可以安全防范 SQL 注入?

    这些函数可以访问 SQL 中的特殊函数 SqlClient 例如 喜欢 或 之间 他们还为它们提供了更好的通用抽象层 不要与存储过程 函数 混淆 这是另一篇文章的主题question https stackoverflow com ques
  • xyplot 中的多个 ablines

    我有一个 长 数据框定义为 q lt data frame Indicator Code factor Year numeric Value numeric 我试图在单个 xyplot 中绘制每个不同年份的值作为年份的函数Indicator
  • PHP 包含最佳实践问题

    我一直在学习 PHP 语法并进行练习 我有 NET 背景 因此母版页总是让我在处理页眉和页脚时变得非常简单 到目前为止 我有一个 mainHeader php 和 mainFooter php 其中有我的头部菜单和页脚 html 我创建了一
  • Android 和 iOS 上的 Open Graph SMS 丰富消息

    我正在尝试利用带有开放图元标记的富文本消息 因此 我已将元标记包含在我的网站头部中 并且它通过了所有 Facebook 调试和 iOS API 验证工具 然而 当我通过短信将链接发送给 Android 或 iOS 上的人时 它通常不起作用
  • 获取 Facebook 页面帖子

    我编写了一些 JavaScript 来获取 Facebook 页面上的所有帖子 我这样做的 URL 是这样的 http graph facebook com cocacola feed limit 5 callback facebookRe
  • C# 嵌入vlc控件

    我尝试将 VLC 嵌入到我的 WPF 项目中 我已经注册了 axvlc dll 还下载了 VLC nightly build 版本 2 2 2 System Windows Markup XamlParseException 类型的第一次机
  • Netbeans 删除内置类?

    我有一个 NetBeans 项目 其中有很多类 过去三周我一直在研究这个项目 今天才开始遇到这个问题 单击 NetBeans 中的 运行主项目 按钮时 我看到以下错误 Exception in thread main java lang N
  • 在x86汇编中,为imul使用两个单独的寄存器是否更好?

    我想知道 主要是出于好奇 使用相同的寄存器进行操作是否比使用两个更好 考虑到性能和 或其他问题 什么会更好 mov rbx rcx imul rcx rcx or mov rbx rcx imul rbx rcx 任何有关如何对此进行基准测
  • 适用于 Windows 安装的 GitHub

    安装 GitHub for Windows 时 如何解决此错误 尝试下载时发生错误 http github windows s3 amazonaws com GitHub application http github windows s3
  • 以下是在 Python Mechanize 中按下提交按钮的结果

    所以我有一个经过身份验证的网站 我想通过 mechanize 模块访问该网站 我可以登录 然后转到我想要的页面 但是 由于该页面识别出 mechanize 未启用 javascript 因此它希望我单击提交按钮以重定向到网站的非 javas
  • 如何在 Mockito 中模拟 instanceof

    我有一段代码 我想用 Mockito 测试一下 mockedClass instanceof SampleInterface The mockedClass被嘲笑的抽象类 MockedClass 以及SampleInterface是一个接口