2013-11-19 2 views
1

Я пытаюсь запустить тестовый класс, который я создал в IntelliJ. Когда я запускаю его в IntelliJ, тест проходит. Тем не менее, я хочу, чтобы иметь возможность сценариев, поэтому я пытаюсь запустить тест через commandLine.Java JUnit Test Не удается найти класс

Я бег следующей команды из этой директории: $ PROJECT_HOME/выход/тест/ком/proj1/Ома

java -cp .:$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore ClassATest 

Это дает мне следующую ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: ClassATest (wrong name: com/proj1/ome/ClassATest) 

Я прочитал, что это потому, что вы не можете запустить проект изнутри пакета. Таким образом, я спустился на нижний уровень (рекомендуемый пост переполнения стека, который я прочитал) и попробовал его оттуда. Так что теперь я бегу следующие команды из этого каталога: $ PROJECT_HOME/выход/тест/ком

java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore ClassATest 
java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore proj1/ome/ClassATest 

Они дали мне следующий вывод

JUnit version 4.11 
Could not find class: ClassATest 

Time: 0.001 

OK (0 tests) 

Затем я попытался спускаясь еще один каталог и попытался он снова получил те же результаты.

Любые идеи о том, куда я иду, будут весьма признательны.

Благодаря

+4

Используйте полное имя класса 'com.proj1.ome.ClassATest'. –

ответ

2

Вы должны быть в вашем $ PROJECT_HOME/выход/тестовый каталог. Затем выполните:

java -cp .:/$PROJECT_HOME/tools/junit4.11.jar:$PROJECT_HOME/tools/hamcrest-all-1.3.jar org.junit.runner.JUnitCore com.proj1.ome.ClassATest 
+0

должен быть com.proj1.ome.ClassATest (вы забыли ome) – Taylor

+0

исправлено. Благодарю. :) – Jules

+0

Работает отлично, спасибо тонну! Не могу поверить, что я не думал использовать. вместо /. Такая простая мисс. –

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