2011-11-18 3 views
1

Я пытаюсь запустить один тест JUnit из командной строки, но я получаю сообщение об ошибке. Я смог успешно скомпилировать JUnit-тест, и файл класса будет создан в правильном месте. Но когда я пытаюсь запустить его с помощью:Ошибка при запуске теста JUnit из командной строки

C:\Program Files\Java\jdk1.7.0_01\bin>java org.junit.runner.JUnitCore C:\eclipse\eclipse-java-helios-SR1-win32\eclipse\JunitWS\SeleniumTraining\src\com\org\tests\Nav.class 

Я получаю ошибку:

JUnit version 4.8.1 
Could not find class: C:\eclipse\eclipse-java-helios-SR1-win32\eclipse\JunitWS\SeleniumTraining\src\com\org\tests\Nav.class 
Exception in thread "main" java.lang.NoClassDefFoundError: org/hamcrest/SelfDesc 
ribbing 

Я не знаю, почему она не может найти класс, даже если она существует в указанном место нахождения.

ответ

2

Вы должны указать имя класса в командной строке, а не имя файла:

java org.junit.runner.JUnitCore com.org.tests.Nav 

Из Javadoc для JUnitCore:

JUnitCore is a facade for running tests. It supports running JUnit 4 tests, JUnit 3.8.x tests, and mixtures. To run tests from the command line, run java org.junit.runner.JUnitCore TestClass1 TestClass2 .... For one-shot test runs, use the static method runClasses(Class[]). If you want to add special listeners, create an instance of org.junit.runner.JUnitCore first and use it to run the tests.

и вам придется добавить бункер (примечание NOT src) к пути к классам командной строки. Это может выглядеть так:

java -cp C:\eclipse\eclipse-java-helios-SR1-win32\eclipse\JunitWS\SeleniumTraining\bin org.junit.runner.JUnitCore com.org.tests.Nav 
+0

Thanks Matthew. Я поменял путь, когда вы заговорили, и теперь он работает нормально. Большое спасибо . –

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