在“TestNG Result Listening Job”期间发生内部错误。端口值超出范围:-1

问题描述 投票:0回答:3

在2017年1月1日安装eclipse更新后,即使对于以前正在进行的测试,我也遇到了错误:

在“TestNG Result Listening Job”期间发生内部错误。端口值超出范围:-1

我搜索了如何解决这个问题 - 将JRE更新到最新版本1.8.0_112并卸载了TestNG-Maven集成插件,但仍然出现错误。有人可以帮我解决问题吗?

安慰:

java.lang.IllegalArgumentException:端口超出范围:-1位于java.net.InetSocketAddress的java.net.InetSocketAddress.checkPort(未知源)。(未知源)位于org的java.net.Socket。(未知源)。位于org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.rava)的org.testng.remote.strprotocol.MessageHub.connect(MessageHub.java:31)中的testng.remote.strprotocol.BaseMessageSender.connect(BaseMessageSender.java:60): 105)org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

错误日志:

java.lang.IllegalArgumentException:端口值超出范围:-1位于java.net.ServerSocket。(未知源)位于java.net.ServerSocket。(未知来源)org.testng.remote.strprotocol.BaseMessageSender.initReceiver(BaseMessageSender) .java:127)在org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)的org.testng.eclipse.ui.TestRunnerViewPart $ 3.run(TestRunnerViewPart.java:444)

谢谢!

java eclipse testng testng-eclipse
3个回答
1
投票

我不确定为什么在你当地没有获得免费端口:

public static int findFreePort() {
// Nick: either here throws IOException
    try (ServerSocket socket = new ServerSocket(0)) {
// Nick: or, here return -1
        return socket.getLocalPort();
    } catch (IOException e) { 
    }
    return -1;      
}

将JRE更新到最新版本1.8.0_122

你的意思是JRE 1.8.0_112(而不是122)?你有任何反病毒可能会影响代码吗?

或者你可以把上面的代码放到一个简单的一类java应用程序中,打印findFreePort的返回值,如果你可以在这个简单的应用程序中重现调试?


1
投票

这听起来像一个Winsock问题,而不是testNG本身的问题。您可以按照此KB article中的说明重置Winsock安装以设置默认值。

简而言之,请尝试以下步骤

  1. 在命令提示符下运行netsh winsock reset
  2. 重启电脑

0
投票

我恢复了我的Windows 10,没有任何错误..看起来Java,Eclipse或我的代码没有问题

© www.soinside.com 2019 - 2024. All rights reserved.