Невозможно запустить тесты junit в Eclipse

У меня и моих коллег периодически возникают проблемы с запуском тестов 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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
6 906
4

Ответы 4

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

Вы смотрели журналы 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, но пока не нашел подходящего варианта.

Не могли бы вы вставить эту информацию в свой начальный вопрос? Это повысило бы читаемость. Спасибо!

guerda 12.01.2009 15:30

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

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

Другие вопросы по теме