当前位置: 首页 > 面试题库 >

如何使用EasyMock测试void方法

姬阳曜
2023-03-14
问题内容

我已经看到了一些与此相关的问题,但是对于我的特定问题,我似乎无法理解任何答案。

我有一个模拟对象,让我们调用“ object1”,将其发送到某种测试方法,让我们调用testMethod()。所以我最后打电话

testMethod(object1);

用于检测。现在在这个testMethod的某个地方,它将有一部分调用方法

object1.toggleDisplay();

这是一个无效方法。如果方法像

object1.getDisplay()

它实际上会返回什么,我通常会这样做

EasyMock.expect(object1.getDisplay()).andReturn(whatever);

但是,这是一个无效方法,我只想测试一下它确实已经被调用了一定的次数。最简单的方法是什么?

谢谢


问题答案:

如果最近几年情况没有变化,请expectLastCall在设定期望值时使用。

object1.toggleDisplay();
object.expectLastCall();


 类似资料:
  • 问题内容: 这可能吗?我尝试过,但EasyMock抱怨时间必须> = 1 问题答案: 我设法提出了一个解决方案:

  • 我有以下代码 我对嘲笑不熟悉。我有以下疑问。我正在尝试测试公共方法。 我是否可以断言私有变量workDone的值? 是否可以验证超类中的方法调用? 如何在方法中模拟私有方法调用?

  • 问题内容: 我有一个充满void方法的Java类,我想进行一些单元测试以获得最大的代码覆盖率。 例如我有这种方法: 它的名字不好用是因为我翻译了代码以更好地理解。每种方法均会验证参数是否在某种程度上有效并且编写正确。 范例: 我的单元测试很好地涵盖了小的方法,因为我要求它们检查ErrorFile是否包含错误消息,但是我看不到如何测试方法checkIfValidElements,它什么也不返回或什么

  • 如何使用jest框架测试void javascript函数(一个不返回任何东西的函数)?你能提供一个同样的例子吗? 我们如何测试这种类型的函数?

  • 问题内容: 试图使用EasyMock来测试是否调用了一个受保护的方法,不知道这是否是最好的方法……但是鉴于以下内容,我如何才能知道在调用callMe()时didIgetCalled()实际上是被调用了? 问题答案: 这是一种无需使用EasyMock即可测试该方法的方法,但是我的建议是:如果它不是公开的,请不要为此编写测试 我知道这不会完全解决您的问题,但这只是一个开始 :)

  • 在我的代码中,我有时在同一个类中调用public或private方法。这些方法并不是一个很好的候选方法,不适合被拉入自己的类中。我调用的每个方法都在它们自己的单元测试中进行测试。 那么,如果我的类a中有一个方法也在类a中调用这些方法中的每一个,有没有办法模拟这些调用?我当然可以剪切和粘贴我的期望/模拟行为,但这不仅是一件乏味的事情,它混淆了测试的要点,违反了模块化,并且由于无法控制返回的内容,使测