【问题标题】:Ignore return value in EasyMock忽略 EasyMock 中的返回值
【发布时间】:2017-12-29 11:25:10
【问题描述】:

我如何让 EasyMock 来测试一个方法是否被调用并返回一个特定的类型——不管值是什么

EasyMock.expect(........).andReturn(String.Type).times(5);

我只需要确保一个方法被调用 x 次。
这可能吗?

【问题讨论】:

    标签: junit junit4 easymock


    【解决方案1】:

    您可以使用 EasyMock.isA() 或 EasyMock.anyObject()。示例代码见下文

    expect(mock.doSomething(...)).andReturn(EasyMock.isA(String.class)).times(5); replay(mock); ... verify(mock);

    查看Here了解更多详情

    【讨论】:

      【解决方案2】:

      使用 EasyMock,您必须指定方法调用的行为。如果返回值的值无关紧要,那么您可以返回一个虚拟值。之后,您可以验证模拟是否像您预期的那样被调用。

      expect(mock.doSomething(...)).andReturn("dummy value").times(5);
      replay(mock);
      ...
      verify(mock);
      

      【讨论】:

      • 您是对的,需要验证,仅此而已。但是,首选他的原始语法。 expect(mock.foo()).andReturn(null).times(5)
      猜你喜欢
      • 1970-01-01
      • 2012-08-06
      • 2018-04-02
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      相关资源
      最近更新 更多