从带有调试器的 EasyMock 的“nice mock”中获取异常

2023-12-21

(免责声明 - EasyMock 新手)

根据文档(和这个帖子 http://www.jblewitt.com/blog/?p=316=1),如果我想使用 EasyMock 生成存根对象,我应该使用EasyMock.createNiceMock()。 “漂亮的模拟”实际上是一个存根 - 即不参与验证的对象,仅返回值。

但是,以下代码片段对我来说失败了IllegalStateException("missing behavior definition for the preceding method"),在第二个foo.translate() line.

Foo foo = EasyMock.createNiceMock(Foo.class);
EasyMock.replay(foo); // added this line
foo.translate("a", "b");
foo.translate("a", "b"); // only the second calls throws an exception

谁能解释一下,或者告诉我如何使用 EasyMock 创建零详细的存根 (o(number_of_exercished_mock_methods))。

Edit- 我注意到,在附加调试器时几乎总是会遇到这些错误,但在未附加调试器时绝不会出现这些错误。知道这有什么关系吗?


补充杰夫的答案。

来自 EasyMock 的方法 createNiceMock javadoc:

创建一个实现给定接口的模拟对象,顺序检查 默认禁用,并且模拟对象将返回0, null 或 false 表示意外调用。

通过此方法创建的模拟对象不需要任何配置(预期的调用)。您只需创建它并“重播它”。例子:

ComplicatedObject stub = EasyMock.createNiceMock();
replay(stub);

在创建的存根上允许任何方法调用(它不会抛出异常),并且它们将始终返回默认值(0、null 或 false)。如果您设置了特定的调用期望,那么您必须配置它的返回值,否则您将收到错误(这就是您的情况)。

如果您想限制可以执行哪些方法(如果调用意外方法,则使测试失败),恐怕您必须创建一个常规模拟,设置每个调用期望以及每个方法的返回值那些。

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

从带有调试器的 EasyMock 的“nice mock”中获取异常 的相关文章

  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List

随机推荐

  • android edittext inputfilter应该接受空格,字符和数字

    street EditText findViewById R id street InputFilter filter new InputFilter public CharSequence filter CharSequence sour
  • 无法解析导入 javax.servlet [重复]

    这个问题在这里已经有答案了 我正在尝试使用eclipse for Java EE开发网络应用程序 我需要使用Tomcat as my server 我已经下载了 Tomcat 并且它正在运行 但我的程序无法编译 我收到以下错误 无法解析导入
  • 全宽水平导航栏,其中项目间隔均匀

    初始点 终点 我试图让水平导航栏填满 100 的容器 在第一个示例中 您将看到所有项目都左对齐 我试图让它填充容器的整个宽度 如第二个示例所示 我希望所有项目之间的间距保持一致 与显示的方式不同 我只是快速将其放在一起 以便让您了解我正在尝
  • 如何使用 CSS 根据页面中另一个元素的状态选择一个元素?

    我有可以反映不同状态的元素 或者由用户触发 hover focus等 或由服务器操纵 data status finished disabled ETC 我可以定位状态已更改的元素 但我似乎无法找到一种方法来根据相关元素的状态定位 DOM
  • 如何在 PHP 中拆分 CSV 文件?

    我有一个很大的 CSV 文件 我想根据其中一个字段中的值将此文件分成单独的文件 这就是我所做的 使用 fgetcsv 我将 CSV 转换为数组 并使用in array 我检查内容并显示它是否包含数组中的字符串 我将从另一个文本文件迭代获取比
  • 关于多遍排序算法

    我在读编程珍珠作者 乔恩 本特利 参考 http www cs bell labs com cm cs pearls sec013 html 这里作者提到了各种排序算法 如合并排序 多遍排序 问题 合并排序算法如何通过读取输入文件一次并使用
  • 使用 axios 执行经过身份验证的请求时,Jest 返回“网络错误”

    这对我来说似乎有点奇怪 我正在尝试使用 Jest 测试实际 即真实网络 请求 这些是经过测试的场景 测试没有标头的外部 API fixer io 使用标头测试本地 API 服务器 使用以下标头测试相同的本地 APInode终端 这种行为背后
  • 处理用户控件内部的RequiredFieldValidator

    我有一个用户控件 其中包含一个带有一些附加功能的文本框 但出于本示例的目的 只需假设它是一个纯文本框就足够了 我从 Web 表单调用此用户控件 并希望能够使用RequiredFieldValidator 其功能基本上与我在 Web 表单上的
  • 更改 MVC4 中的默认 ValidationSummary 模板

    我想更改默认值Html ValidationSummary 模板以使其与 twitter bootstrap 一起使用 我在哪里可以找到它 我发现的唯一线索是this https stackoverflow com questions 52
  • 展平列表列表的 3 种方法。有理由选择其中之一吗?

    假设我们有一个列表如下 CoreResult有一个类型字段List
  • 如何使用 CSV 文件中的数据运行 XUnit 测试

    有没有办法运行数据驱动XUnit测试使用CSV文件作为数据源 我试过了Cavity Data XUnit 但它不再与最新版本兼容XUnit 到目前为止 我只能使用 Excel 文件来实现这一点 但我需要将它们更改为CSV反而 一个例子 Th
  • Lollipop 上的旋转器出现故障

    我的 Android 项目构建目标是 5 1 1 API 22 这个应用程序似乎适用于除 Lollipop 之外的所有操作系统版本 Lollipop 重新调整了某些活动的高度 否定可滚动布局 并扰乱了旋转器 单击微调器上的特定位置将在应用程
  • 为什么 Tcler 建议支撑你的“表达”?

    我们可以用两种可能的方式评估两个表达式 set a 1 set b 1 puts expr a b puts expr a b 但为什么讨厌经验丰富的 Tclers 第一个 并认为这是不好的做法呢 第一次使用是否expr有一些安全问题吗 问
  • 实体未在数据库中创建表

    我正在使用 Spring boot 并且运行这个模型 package com example demo Models import jakarta persistence Entity Table name user public clas
  • 在 Swift 中将 Float 转换为 Int

    我想转换一个Float to an Int在斯威夫特 像这样的基本转换不起作用 因为这些类型不是基元 不像floats and intObjective C 中的 s var float Float 2 2 var integer Int
  • 如何将 Camel 中的 BeanInspiration 对象转换为消息正文和标头?

    我在用着骆驼代理 http camel apache org using camelproxy html将接口公开为路由的起点 它使用 BeanInitation 对象作为消息正文 如何根据传递给接口的参数设置消息正文和标头 public
  • Bootstrap 响应式按钮组对齐

    在twitter bootstrap 3中 有一个组件准备名称按钮组对齐 URL http getbootstrap com components btn groups justified http getbootstrap com com
  • Django Grappelli 表格内联添加新行 TinyMCE 文本字段不可编辑

    我在我的项目中使用 django Grappelli 皮肤 我有一个带有表格内联函数的 ModelAdmin 我使用 extra 0 来防止加载页面时自动插入空白行 效果很好 现在 当我单击 号插入新行时 该行已加载 但 tinymce 文
  • 更改常量表达式中联合的活动成员

    和谁玩constexpr and union我发现我无法更改某个活动的活跃成员union in constexpr 只有一个例外 union空类 constexpr bool t struct A struct B union U A a
  • 从带有调试器的 EasyMock 的“nice mock”中获取异常

    免责声明 EasyMock 新手 根据文档 和这个帖子 http www jblewitt com blog p 316 1 如果我想使用 EasyMock 生成存根对象 我应该使用EasyMock createNiceMock 漂亮的模拟