无法模拟TextMessage

时间:2015-09-15 19:03:14

标签: mockito powermock

有人可以帮助我如何模拟这一行,我尝试并获得空指针异常

mockTextMessage = mock(TextMessage.class);
when(mockTextMessage.getText()).thenReturn(any(String.class));


public void onMessage(Message message) {
    String text = ((TextMessage)message).getText();
}

1 个答案:

答案 0 :(得分:1)

您应该使用thenReturn()方法传递实际对象。

请参阅以下thenReturn(T value)

的定义
  

设置调用方法时返回的返回值       “当调用x方法然后返回y”。

<强>实施例

when(mock.x()).thenReturn(y); 
when(mock.someMethod()).thenReturn(10);

在你的情况下,在mockTextMessage上调用getText()方法时,传递你想要返回的实际字符串值。

when(mockTextMessage.getText()).thenReturn("expected value");