从带有调试器的 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”中获取异常 的相关文章

随机推荐

  • 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 漂亮的模拟