2009-08-09 2 views
18

Я пытаюсь запустить тестовые примеры JUnit4 на Eclipse 3.4.2, но это даже не начинается для меня. У меня есть junit-4.7.jar в моем пути сборки и тестовом приложении.JUnit4 + Eclipse «Внутренняя ошибка при запуске»

Вот простой пример, который иллюстрирует мою проблему

package test; 
import org.junit.Before; 
import org.junit.Test; 

public class UTest {  
    @Test 
    public void test() { 
    } 

    @Before 
    public void setUp() throws Exception { 
    } 
} 

Это нормально компилируется

Тогда я «случай Run JUnit Test» из Eclipse, и я получаю диалоговое окно ошибки с этим сообщением

"Launching UTest' has encountered a problem 
An internal error occurred during: "Launching UTest". 
java.lang.NullPointerException 

Что вызывает эти NullPointerExceptions? Что я делаю не так?

ответ

3

я был в состоянии исправить это, просто удалив рабочее пространство и каталог Eclipse, и начать сначала.

+0

Вы повторно импортировали проект или перестраивали его вручную, перетаскивая файлы?Звук, как много работы, которая просто избегает проблем, не решает ее. – WhyNotHugo

+0

Да, вам нужно импортировать все файлы вручную, но настройки редактора eclipse будут изменены. – J4cK

1

Ваш код отлично подходит для меня.

Затмение Версия: 3.4.1 Сложение ID: M20080911-1700

я правой кнопкой мыши на файле .java RunAs JUnit Test. Это указывает на то, что проблема вызвана проблемой конфигурации Eclipse, а не проблемой кода.

2

Вы искали в журнале ошибок Eclipse? Вы можете увидеть это, открыв представление «Журнал ошибок».

http://help.eclipse.org/help32/topic/org.eclipse.pde.doc.user/guide/tools/views/error_log.htm

+0

Не удалось найти этот вид. Представление «Проблемы» не связано, это ошибка затмения INTERNAL, просмотр проблем просто показывает ошибки в проекте. – WhyNotHugo

+0

Я сказал, что «Ошибки» ... не вид «Проблемы». –

+2

Извините, вы правы. У меня нет представления об ошибках:/ – WhyNotHugo

1

Спасибо, что решили мою проблему тоже. Проблема началась, когда я удалил старый симулятор и создал новый. Fix: Как и OP говорит, удалить рабочее пространство, не забудьте сохранить проекты внутри него :) затем импортировать их обратно в затмение «Звучит как много работы»? Принял меня меньше, чем за полминуты !!!

3

Это работает для меня:

  1. создать еще одну копию тестового класса (CopyOfUTest.java)
  2. запустить копию, чтобы убедиться, что проходит
  3. перейти в Run> Run Configurations
  4. в разделе JUnit найдите конфигурации запуска для исходного класса и скопированного класса
  5. щелкните правой кнопкой мыши и удалите конфигурацию исходного класса
  6. переименовать конфигурацию скопированного класса с оригинальным названием конфигурации
  7. удалить скопированный класс из проекта
+0

Это не сработало для меня; объем проблемы выходит за рамки только одного тестового класса. – Sam

0

я столкнулся с подобной проблемой, но я использую Python. Это то, что я сделал, чтобы решить/избежать этого:

  1. Удалено мой .project файл и проект из Eclipse.
  2. Создал проект еще раз.
  3. Все работает.

Проблема была в файле .project, где были некоторые ссылки на CDT Builder и не было в новом .project-файле.

+0

. Месторасположение проекта находится в project_workspace/project_folder – J4cK

2

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

Eclipse with Infinitest showing a red "tests failed" status message and the corresponding assertion error in the "Problems" tab

+1

Вы рок! Это единственное, что сработало для меня с помощью ADT 23+! – HughB

+0

@HughB Знаете ли вы, почему обычный JUnit4 не работает здесь? Какие исправления у вас есть? – devo

+0

@devo, я не знаю, почему эта проблема возникает, но исправление в [этом ответе] (http://stackoverflow.com/a/26517489/238753) работало для меня. – Sam

1

Если вы используете Android и связанные с ним плагины, то Android поддерживает только JUnit 3.

Я решил проблему, выбрав Test Runner, как JUnit 3.

В моем классе, JUnit 4 добавляется в библиотеки build->.

Затем, чтобы запустить тестовый файл, перейдите по ссылке: Запуск As -> Run Configurations, затем выберите соответствующий файл test.java и соответственно выберите Test Runner (будь то JUnit 3 или 4).

+0

ты спас мой день чувак :) спасибо, это сработало для меня –

31

То, что сработало для меня после попытки все:

  1. Перейти помочь
  2. Установка нового программного обеспечения
  3. Работа с: Юнона
  4. языки программирования (развернуть его)
  5. Установка Средства разработки Java
  6. Restart

Он работает :)

+1

Спасибо большое! Это сработало и для меня! – Sam

+5

Название пакета, который я должен был установить, был * Eclipse Java Development Tools *, а не только * Java Development Tools *. – Sam

+0

@Sam Каким будет URL-адрес обновления? У меня уже есть Juno с ADT 23.0.2. – devo

2

Эта ошибка в затмении может быть вызвано, если вы также с помощью Android Kit Разработка плагинов:

"Launching UTest' has encountered a problem 
    An internal error occurred during: "Launching UTest". 
    java.lang.NullPointerException 

может быть вызвано, если вы загружаете обычный проект Java в установлен и активирован экземпляр Eclipse с плагинами ADD для Android. В этой ситуации Eclipse ищет файлы проектов «Android» и не находит их. Поэтому он говорит: «NullPointerException».

Так, чтобы исправить это, повторно скачать Затмение без ADT Plugin: https://www.eclipse.org/downloads/

Затем повторно импортировать ваш проект в свежем виде. И тесты junit работают без проблем.

Многие люди ненавидят eclipse за загадочные сообщения об ошибках. Это похоже на то, что мы вернулись в мир перфокарт 1950-х годов, где нет сообщений об ошибках. Программа останавливается и происходит неопределенное поведение.

Смежные вопросы