Ошибка "Forked Java VM вышла ненормально" из тестов junit - PullRequest
44 голосов
/ 04 декабря 2009

У меня есть тест java junit, который проходит при запуске в одиночку на компьютере разработчика. У нас также есть задание hudson, которое запускает все тесты, вызываемые через ant, на узле Mac OS X 10.4 с Java 1.5. До недавнего времени тест проходил в сборке hudson, но теперь (без соответствующих изменений кода) один тест каждый раз завершается неудачей со следующей ошибкой:

Сообщение об ошибке

Forked Java VM вышла ненормально. Пожалуйста, обратите внимание на время в отчете не отражает время до ВМ выход.

StackTrace

junit.framework.AssertionFailedError: Развёрнутая Java VM вышла ненормально. Пожалуйста, обратите внимание на время в отчете не отражает время до ВМ выход.

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

Ответы [ 16 ]

0 голосов
/ 01 июля 2014

У меня тоже была эта проблема. Изменение задачи junit с:

<batchtest fork="yes" ... /> 

до

<batchtest fork="no" ... /> 

исправил это для меня. Я не полностью понимаю эту область муравья, хотя или почему это исправит это. В моем сценарии это была ошибка в "BeforeFirstTest", и я думаю, что это barfs из-за двух файлов ant в моем classpath (что, вероятно, я должен исправить)

Мне кажется, проблема в одной из версий ant: http://track.pmease.com/browse/QB-500;jsessionid=C1CF6999CBBDB5097A9CFCF4A11AF6C0?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

ETA: я думаю, что batchtest = "no" фактически изменяет путь к классу и, следовательно, приводит к исключению моей оскорбительной банки с муравьем.

0 голосов
/ 10 мая 2014

В моем случае это неперехваченное исключение в статическом инициализаторе / методе / блоке внутри класса.

В частности, один класс вызывал статический метод в другом классе, и он вызывал исключение NumberFormatException.

Кстати, добавление "showoutput = true" к задаче в build.xml не помогло устранить неполадки. Поскольку статический блок запускается одним из первых, JVM взорвалась, прежде чем вообще могла что-либо выводить.

0 голосов
/ 30 июля 2012

Я столкнулся с проблемой после переустановки новой версии NetBeans на внешний жесткий диск, одновременного обновления Junit и использования моего старого рабочего пространства.

Для меня решение той же проблемы было простым:

Просто добавьте JUnit-библиотеку в проект properties => Libraries => Compile Tests и Run Tests.

Итак, в моем случае это просто отсутствующая библиотека или конфликт версий JUnit.

0 голосов
/ 15 июня 2012

Я столкнулся с той же проблемой. Проблема была в генерации байт-кода с насмешкой над классом Config; Мы изменили импорт на

import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

и это сработало.

0 голосов
/ 01 июня 2010

Для нас это было фактически, что мы случайно (использовали более новую версию eclipse) начали использовать Ant 1.7.x вместо нашей старой версии ant, которая была совместима с нашей средой Weblogic 8.1 / JDK 1.4.x. Мы исправили это, вернув Ant Home в Eclipse-> Windows-> Preferences-> Ant-> Runtime к нашей старой версии Ant.

С уважением Клас

0 голосов
/ 29 апреля 2010

Я решил свою проблему, установив следующую переменную среды:

Переменная: _JAVA_OPTIONS Значение: -Xms128m -Xmx512m

...