2009-01-08 208 views
3

我和我的同事们在Eclipse中运行junit测试或tomcat时存在间歇性问题。无法在Eclipse中运行junit测试

有时测试会运行。 有时他们不会。 似乎没有模式,我们不同步。 IE矿可能运行,其他人将失败。

停止/启动Eclipse可以解决问题(有时)。 拉出网线总是解决问题(当它出来时)。

当它失败时,会发生以下情况。 试图运行该课程时,控制台屏幕将显示红色框。 控制台上约30秒保持空白,然后会出现以下情况:

无法连接到:2083
java.net.ConnectException:连接 被拒绝:连接在 java.net.PlainSocketImpl。 socketConnect在 java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)(母语 方法)在 java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 在 java.net.PlainSocketImpl.connect( PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 在 java.net.Socket.connect(Socket.java:520) 在 java.net.Socket.connect(Socket.java:470) 在 java.net.Socket中。(Socket.java:367) 在 java.net.Socket中。(Socket.java:180) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.connect( RemoteTestRunner.java:560) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:377) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main( RemoteTestRunner.java:196)

端口号不同。 我发现一个论坛帖子,告诉我按照这个http://support.microsoft.com/kb/135982 但这没有奏效。

我们都是基于Microsoft XP的机器,通过 ISA服务器/代理连接到互联网。 我正在运行Eclipse 3.3.3和MyEclipse 6.0.1

有什么想法吗?

回答

0

一些建议...:

你看看tomcat日志吗?

你在他们看到一些ClientAbortException: java.net.SocketException: Broken pipe.

它看起来像服务器认为客户端有时关闭连接。 而且就像客户端正在通过服务器获得连接重置(连接重置),并且服务器有时不会收听(连接被拒绝)。

如果您是从防火墙/代理服务器的后面进行测试,则可能需要为TomCat提供防火墙/代理服务器的主机名和端口号。

Restarting eclipse should be enough

显然在Eclipse中的JUnit运行的线程连接到一个Eclipse服务器的线程来运行测试。看起来客户端线程试图连接到错误的端口(3393),或者在端口3393上监听运行时请求的服务器线程失败。

解决方案McQueeney发现is here(谢谢Archive.org!)

一个建议,我觉得有趣的是:

我不得不改变我的Eclipse项目使用,使JRE确保JUnit和我的项目使用相同的jre。 Eclipse重新启动后,错误消失了。

我希望你会找到一个明确的原因。

0

当我的网络驱动程序坏掉时,我遇到了同样的问题。

JUnit和Eclipse通过ICP(InterProcess Communication)进行通信,更好地说:通过TCP。 要成功运行它,您必须修复网络驱动程序。

尝试重新安装TCP/IP协议或将其恢复到系统还原点。

祝你好运!

1

我专注于junit而不是tomcat,因为它更容易重现。 是的,我看到McQueeney链接没有运气。我们已经做了一些更多的挖掘和有趣的是,当你从Eclipse运行junit时,Eclipse决定去检查更新,是的,这是正确的 - 每次运行junit(&我都猜测tomcat和其他)。

我们通过ISA服务器删除了一个同事对WWW的访问限制,并且低位的&看到问题消失了。

我们仍然在监测这个问题,看看它是否是解决方案。 观看这个空间。

我已经试过通过Eclipse设置,看看我是否可以阻止它每次转到WWW,但还没有看到一个合适的选择。

+1

您能否将这些信息粘贴到您的开始问题中?它会增加可读性。谢谢! – guerda 2009-01-12 12:30:15

0

因此,如果您的JUnit与互联网有连接,那么您的JUnit才能正常工作? 还是一次性动作,现在,它没有互联网连接?

奇怪的世界...日志文件中是否有任何提示?

相关问题