【问题标题】:How to EasyMock the Class.method.method如何轻松模拟 Class.method.method
【发布时间】:2019-05-22 11:20:02
【问题描述】:

Mock class.method.method 是必需的,给出下面的例子 总是给空指针异常。

期待( EasyMock.mock(TBXClient.class).getStatus().getMessage()).andReturn("check");

谁能帮我解决这个问题?

【问题讨论】:

    标签: mocking mockito easymock


    【解决方案1】:

    没有模拟链接。 getStatus 的结果也应该是一个模拟,您将在其上模拟 getMessage,然后一切都会按预期工作

    TBXClient client = mock(TBXClient.class);
    Status status = mock(Status.class);
    expect(client.getStatus()).andReturn(status);
    expect(status.getMessage()).andReturn("check");
    replay(client, status);
    

    然而,Status 看起来很像一个值类型,所以它可能不需要被模拟。在这种情况下,我会这样做。

    TBXClient client = mock(TBXClient.class);
    expect(client.getStatus()).andReturn(Status.CHECK);
    replay(client, status);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-23
      • 1970-01-01
      • 2020-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多