繁体   English   中英

JUnit测试以网络连接错误结束

[英]JUnit test ends with network connection error

我正在为我的Java项目在Eclipse中运行一些JUnit 4测试,我知道这两天前它们运行正常。

但是今天,我得到了错误:

Could not connect to:  : 40212          
java.net.SocketException: Network is unreachable
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:525)
    at java.net.Socket.connect(Socket.java:475)
    at java.net.Socket.<init>(Socket.java:372)
    at java.net.Socket.<init>(Socket.java:186)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.connect(RemoteTestRunner.java:570)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:381)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

测试和代码都不会对网络产生任何影响。

同样,用于安装新软件的eclipse对话框无法连接到更新站点,SVN插件也无法连接到存储库。 我已经使用cli-svn程序检查了SVN存储库的可用性。 蚀中的代理被禁用。

所以我的问题是,为什么JUnit首先要连接到Internet(如何甚至可以脱机工作……),我可以做些什么来找出问题的根源吗? (我的计划B是删除Eclipse并重新安装)

我怀疑Junit是作为同一进程在同一台机器上启动的(请注意上面对RemoteTestRunner的引用),然后Eclipse将通过套接字与它对话。

那么,是否有一些与您的计算机上的TCP堆栈相关的问题。 您是否没有网络资源? 难道是这些东西吗?

netstat可能在这里有用。 还是简单的重启?

对于“为什么Eclipse为什么要连接到互联网”这个问题的答案是Eclipse根本不连接到互联网, 但是 Eclipse有一个特殊的JUnit测试监听器,它与运行JUnit测试的JVM进行通信。 该测试侦听器在localhost上打开一个套接字(我不确定100%确定服务器套接字在哪一侧,但这可能无关紧要)。

我认为您最终会遇到一些网络问题,导致Eclipse进程无法在本地主机上打开套接字。 在启动/关闭VPN以及从暂停/恢复周期恢复之后,我也遇到了类似的麻烦。

我会先尝试重启。 如果那不起作用,我将尝试从其他工作空间运行(运行... / eclipse.exe -data path / to / new / workspace)。 请记住, 卸载 Eclipse没有意义。 只需在某个地方打开新的Eclipse的包装,然后尝试从那里运行即可。

在Windows 7 x64计算机上,出于某种奇怪的原因,我使用了单独的防火墙来阻止javaw.exe,在解除阻止后,它又可以正常工作了。 认为防火墙也不会阻止计算机内部套接字通信

您是否尝试查看“运行配置”以查看要执行的测试? (即,右键单击测试,然后选择“运行方式>运行配置”)。也许有些设置有些麻烦。 也许在“测试”选项卡中的“测试运行器”设置中配置有误?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM