【发布时间】:2019-05-22 11:20:02
【问题描述】:
Mock class.method.method 是必需的,给出下面的例子 总是给空指针异常。
期待( EasyMock.mock(TBXClient.class).getStatus().getMessage()).andReturn("check");
谁能帮我解决这个问题?
【问题讨论】:
Mock class.method.method 是必需的,给出下面的例子 总是给空指针异常。
期待( EasyMock.mock(TBXClient.class).getStatus().getMessage()).andReturn("check");
谁能帮我解决这个问题?
【问题讨论】:
没有模拟链接。 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);
【讨论】: