我正在尝试模拟以下调用:
s.socket().bind(new InetSocketAddress(serverIPAddress_, serverPort_), 0);
所以我可以测试其余代码在以可预测的方式失败时的作用。我在我的测试用例中使用它:
ServerSocketChannel ssc = mock(ServerSocketChannel.class);
when(ServerSocketChannel.open()).thenReturn(ssc);
doNothing().when(ssc.socket().bind(any(), anyInt()));
但是,上面的内容不能编译:
[javac] /home/yann/projects/flexnbd/src/uk/co/bytemark/flexnbd/FlexNBDTest.java:147: cannot find symbol
[javac] symbol : method bind(java.lang.Object,int)
[javac] location: class java.net.ServerSocket
[javac] doNothing().when(ssc.socket().bind(any(), anyInt()));
[javac] ^
[javac] 1 error
知道我做错了什么吗?