Mockito不返回预期的字符串,而是返回模拟对象

时间:2019-01-24 08:46:11

标签: java junit mockito inetaddress

我在嘲笑 InetAddress ,当我在嘲笑此对象时,我正在嘲笑对象而不是预期的字符串

    InetAddress inetAddress = Mockito.mock(InetAddress.class);
    Mockito.when(inetAddress.getHostName()).thenReturn("test")
    System.out.printinetAddress.getHostName());

我认为它应该在控制台中打印 test ,但它正在打印模拟对象的哈希码。

1 个答案:

答案 0 :(得分:0)

Mockito.when(inetAddress.getHostName()).thenReturn("test")

在这一行中,您说的是模仿,当我调用inetAddress.getHostName()时,将返回“测试”。您已经完成了此声明,但是尚未调用此模拟方法来查看会发生什么,而是像其他所有对象在Java中一样,打印了指向地址的模拟对象。要查看结果,在创建模拟对象之后,您应该:

System.out.println(inetAddress.getHostName());