2009-01-08 193 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才能正常工作? 還是一次性動作,現在,它沒有互聯網連接?

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

相關問題