Невозможно запустить тесты Junit в Eclipse - PullRequest
3 голосов
/ 08 января 2009

У меня и моих коллег периодически возникают проблемы с запуском тестов junit или tomcat из Eclipse.

Иногда тесты запускаются. Иногда они не будут. Кажется, что нет никакого шаблона, и мы не синхронизированы. IE мой может работать, а другие не получатся.

Остановка / запуск Eclipse может решить проблему (иногда). Вытягивание сетевого кабеля ВСЕГДА решает проблему (пока она отсутствует).

При сбое происходит следующее. При попытке запустить класс появляется экран консоли с красной рамкой. Экран консоли остается пустым в течение 30 секунд, а затем появляется следующее:

Не удалось подключиться к:: 2083
java.net.ConnectException: соединение отказался: подключиться на java.net.PlainSocketImpl.socketConnect (Native Метод) в java.net.PlainSocketImpl.doConnect (PlainSocketImpl.java:333) в java.net.PlainSocketImpl.connectToAddress (PlainSocketImpl.java:195) в java.net.PlainSocketImpl.connect (PlainSocketImpl.java:182) в 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

Есть идеи, пожалуйста?

Ответы [ 4 ]

1 голос
/ 12 января 2009

Я сконцентрировался на junit, а не на tomcat, так как его намного быстрее и проще воспроизвести. Да, я видел связь с МакКвини без удачи.

Мы сделали еще кое-что интересное, когда вы запускаете junit из Eclipse, Eclipse решает пойти и проверить наличие обновлений, да, это правильно - каждый раз, когда вы запускаете junit (и я думаю, tomcat и другие).

Мы сняли ограничения доступа коллеги к WWW через ISA-сервер и установили низкий уровень, и вот проблема исчезла.

Мы все еще отслеживаем это, чтобы увидеть, является ли это решением. Посмотрите это место.

Я попытался просмотреть настройку Eclipse, чтобы узнать, смогу ли я остановить его отключение каждый раз в WWW, но пока не нашел подходящего варианта.

0 голосов
/ 12 января 2009

То есть ваш JUnit работает только при наличии подключения к интернету? Или это было одноразовое действие, и теперь оно работает без подключения к интернету?

Странный мир ... Есть ли какие-нибудь подсказки в лог-файле?

0 голосов
/ 08 января 2009

У меня была такая же проблема, когда мой сетевой драйвер был сломан.

JUnit и Eclipse обмениваются данными через ICP (InterProcess Communication), лучше сказать: через TCP. Чтобы запустить его успешно, вы должны восстановить сетевые драйверы.

Попробуйте переустановить протоколы TCP / IP или вернуть его к точке восстановления системы.

Удачи!

0 голосов
/ 08 января 2009

Некоторые предложения ...:

Вы смотрели логи tomcat?

Вы видите в них некоторые ClientAbortException: java.net.SocketException: Broken pipe.?

Похоже, сервер думает, что клиент время от времени закрывает соединение. И, как клиент получает сброс соединения сервером (сброс соединения), а сервер иногда не прослушивает (соединение отказано).

Если вы проводите тестирование через брандмауэр / прокси-сервер, вам может потребоваться предоставить TomCat имя хоста брандмауэра / прокси-сервера и номер порта.

Перезапуска затмения должно быть достаточно :

Очевидно, что поток выполнения JUnit в Eclipse подключается к потоку сервера Eclipse для запуска тестов. Может показаться, что клиентский поток пытается подключиться к неправильному порту (3393) или что серверный поток, который прослушивал порт 3393 для запросов времени выполнения, не удался.

Решение, которое нашел Маккуини здесь (спасибо Archive.org!)

Одно предложение, которое я нахожу интересным:

Мне пришлось изменить jre, который использует мой проект Eclipse, чтобы убедиться, что JUnit и мой проект использовали один и тот же jre. После перезапуска Eclipse ошибка исчезла.

Надеюсь, вы найдете для этого определенную причину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...