У меня и моих коллег периодически возникают проблемы с запуском тестов junit или tomcat из Eclipse.
Иногда тесты запускаются. Иногда они этого не делают. Похоже, что нет никакой закономерности, и мы не синхронизированы. IE мой может работать, а другие потерпят неудачу.
Остановка / запуск Eclipse может решить проблему (иногда). Вытягивание сетевого кабеля ВСЕГДА решает проблему (пока он отключен).
Когда это не удается, происходит следующее. При попытке запустить класс появляется экран консоли с красным квадратом. Экран консоли остается пустым около 30 секунд, а затем появляется следующее:
Could not connect to: : 2083
java.net.ConnectException: Connection refused: connect 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:520) at java.net.Socket.connect(Socket.java:470) at java.net.Socket.(Socket.java:367) at java.net.Socket.(Socket.java:180) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.connect(RemoteTestRunner.java:560) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:377) at 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
Есть идеи, пожалуйста?





Некоторые предложения ...:
Вы смотрели журналы tomcat?
Вы видите в них какой-нибудь ClientAbortException: java.net.SocketException: Broken pipe.?
Похоже, что сервер иногда думает, что клиент закрывает соединение. И как клиент получает сброс соединения сервером (сброс соединения), и сервер иногда не слушает (соединение отклонено).
Если вы проводите тестирование из-за брандмауэра / прокси-сервера, вам может потребоваться предоставить TomCat имя хоста брандмауэра / прокси-сервера и номер порта.
Достаточно перезапустить затмение:
Apparently the JUnit runner thread in Eclipse attaches to an Eclipse server thread to run the tests. It would seem the client thread was trying to connect to the wrong port (3393) or that the server thread that had been listening on port 3393 for runtime requests failed.
Решение, которое Маккуини нашел здесь (спасибо Archive.org!)
Одно предложение, которое я считаю интересным:
I had to change the jre that my Eclipse project uses to make sure that JUnit and my project were using the same jre. After a restart of Eclipse the error was gone.
Надеюсь, вы найдете для этого убедительную причину.
У меня была такая же проблема, когда мой сетевой драйвер был сломан.
JUnit и Eclipse обмениваются данными через ICP (InterProcess Communication), точнее говоря: через TCP. Чтобы запустить его успешно, вам необходимо восстановить сетевые драйверы.
Попробуйте переустановить протоколы TCP / IP или вернуться к точке восстановления системы.
Удачи!
Я сосредоточился на junit, а не на tomcat, так как он намного быстрее и легче воспроизводится. Да, я безуспешно видел связь с МакКуини.
Мы немного покопались, и что интересно, когда вы запускаете junit из Eclipse, Eclipse решает пойти и проверить наличие обновлений. Да, верно - каждый раз, когда вы запускаете junit (и, я думаю, tomcat и другие).
Мы сняли ограничения доступа коллеги к WWW через ISA-сервер, и вот проблема исчезла.
Мы все еще отслеживаем это, чтобы увидеть, является ли это решением. Следи за этим пространством.
Я пробовал просматривать Eclipse, настроенный, чтобы увидеть, могу ли я остановить его откатывание каждый раз в WWW, но пока не нашел подходящего варианта.
Итак, ваш JUnit работает только при наличии подключения к Интернету? Или это было разовое действие, и теперь оно работает без подключения к Интернету?
Странный мир ... В лог-файле есть подсказки?
Не могли бы вы вставить эту информацию в свой начальный вопрос? Это повысило бы читаемость. Спасибо!