需要模拟class.method.method,请参见以下示例 它总是给Null指针异常。
期望( EasyMock.mock(TBXClient.class).getStatus()。getMessage())。andReturn(“ check”);
有人可以帮我解决吗?
答案 0 :(得分: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);