2016-07-01 4 views
1

Привет, сначала я уже нашел и увидел много сообщений об этом в переполнении стека и другом форуме, но я не могу найти решение X ( Я бы запустил тест Junit в командной строке и без maven первая моя рабочая папкаЗапуск теста Junit через командную строку

->JunitTest 
-->.classpath 
-->lib 
---->hamcrest-core-1.3.jar 
---->junit-4.12.jar 
-->src 
---->sommeClass 
-------->Somme.java (class to test) 
---->TestSommeClass 
-------->SommeTest.java (class test) 

Я попробовал следующую команду: Java -cp Библиотека/JUnit-4.12.jar org.junit.runner.JUnitCore TestSommeClass.SommeTest

Но у меня есть следующее сообщение об ошибке: initializationError (org.junit.runner.JunitCommandLineParseResult) java.lang.IllegalArgumentException: Не удалось найти класс [TestSommeClass.SommeTest]

Я уверен, что проблема с моим, но я классам попробовал команду SET CLASSPATH, но ничего не добавлять в моем .classpath файле Здесь мой файл путь к классам

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 
    <classpathentry kind="lib" path="lib/cta-junit-runner-0.0.1-SNAPSHOT-jar-with-dependencies.jar"/> 
    <classpathentry kind="lib" path="lib/cta-junit-runner-0.0.1-SNAPSHOT.jar"/> 
    <classpathentry kind="lib" path="lib/junit-4.12.jar"/> 
    <classpathentry kind="lib" path="lib/hamcrest-core-1.3.jar"/> 
    <classpathentry kind="output" path="bin"/> 
</classpath> 

Я начинаю с Junit, моя тестовая работа отлично работает в Eclipse, и я действительно не нахожу решение моей проблемы, так как более двух дней, поэтому, пожалуйста, любая помощь будет замечательной! ^^

+0

использовать инструмент построения вместо eclipse (gradle, maven, ...) –

+0

вам не хватает * src * папки в пути – blgt

+0

я не знаю, что вы имеете в виду src, это первая строка в файле это неправильно ? – ShorKy

ответ

2

Дело в том, что при запуске JVM в командной строке вы используете -cp, чтобы рассказать о том, где найти ВСЕ классы, которые вам понадобятся позже. На данный момент путь класса, который вы указываете JVM , только содержит JUnit JAR.

Итак, как вы думаете, что JVM сможет загрузить тестируемый класс? Другими словами: все в ваших xml-фрагментах, которые преобразуются в местоположение, в котором файлы .class берутся из ..., также должно быть в вашей -cp-информации.

Конечно, ваш вопрос не говорит нам, где мы найдем скомпилированные классы вашего «производственного» кода.

+0

OK X) Я чувствую себя немного глупо ..... – ShorKy

+1

Не надо. Я использую Junit уже много лет; но я думаю, если бы меня попросили запустить тесты вручную за пределами затмения и за пределами нашей встроенной системы «бэкэнд»; мне понадобилось бы некоторое время, чтобы туда добраться. – GhostCat

+0

поэтому команда должна выглядеть как java -cp «Junit Path», «hamcrest-core path», «скомпилированный класс для тестирования»; «скомпилированный тест класса» org.junit.runner.JunitCore TestSommesClass.SommeTest? но если мне нужно дать весь путь класса после -cp, то какая утилита определяет путь к файловому классу? – ShorKy

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