【问题标题】:Set negative expectations in EasyMock在 EasyMock 中设定负面期望
【发布时间】:2012-02-15 12:34:28
【问题描述】:

我想更好地了解 EasyMock,并在使用它时提出了这个问题。

我想做的是对一个对象设置一个负期望,以检查在测试期间是否没有调用某个方法(在验证那些初始期望时)。

我知道 verify 的默认行为是检查两种情况:满足您的期望,并且没有执行其他调用;但是测试中没有记录没有调用某个方法,换句话说,如果您对该方法设置了期望并且它没有被调用,那么您的测试将失败(确认您的实现行为正确!) .

有没有办法使用 EasyMock 进行设置?我在文档中找不到任何内容。

感谢您的关注,并提前为您提供帮助!

【问题讨论】:

    标签: easymock


    【解决方案1】:

    EasyMock 的工作方式是这样的:

    1. 为您要模拟的界面创建一个 Mock 对象,
    2. 记录预期行为,并
    3. 将 Mock 对象切换到重放状态。

    如果你不设定任何期望,如下所示:

    mock = createMock(YourInterface.class); // 1
    // 2 (we do not expect anything)
    replay(mock); // 3
    

    那么这意味着如果ClassUnderTest 调用任何接口的方法,Mock Object 将抛出一个AssertionError,如下所示:

    java.lang.AssertionError: 
      Unexpected method call yourMethodWhichYouDidNotExpectToBeCalled():
    

    这本身就是负期望检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 1970-01-01
      相关资源
      最近更新 更多