如何 EasyMock Class.method.method

How to EasyMock the Class.method.method

需要模拟 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);