Поскольку вы компилируете в Windows, вам необходимо использовать совместимый с Windows разделитель пути к классам:
javac -cp .;c:\full\path\to\junit-4.12.jar test\java\ColorTest.java
или, возможно,
javac -cp .;"c:\full\path\to\junit-4.12.jar" test\java\ColorTest.java
Примечание: точка с запятой, а не двоеточие.
Мой лучший способ: javac -cp c: \ full \ path \ to \ junit-4.12.jar test \ java \ ColorTest.java.В этом случае я не получаю ошибки в import .... strings.
Но вы все равно получили ошибки для классов, которые НЕ содержатся в JAR-файле Junit.Правильно?
ИМО, что вам нужно сделать:
прочитайте страницу руководства Oracle, чтобы команда javac
поняла -cp
и, возможно, -d
и / или -sourcepath
.
прочитайте справочную страницу Oracle для Classpath, чтобы понять, что все это на самом деле означает.
Путь к классам - это то, что позволяет javac
находить скомпилированные версии других классов, от которых зависит ваш код.Это важная концепция.Это хорошая идея, чтобы действительно понять это ... вместо того, чтобы полагаться на материал, скопированный из сомнительных или неприменимых примеров.
В вашем случае ваши классы юнит-теста будут зависеть от классов Junit И от скомпилированные классы, которые ваш тестовый код пытается проверить.Если дерево каталогов, содержащее последние, отсутствует в пути к классам, или они не были скомпилированы, то javac
будет жаловаться.
Теперь я не могу разобраться, если все еще идет компиляция "не могу найти символ"ошибки.Но если это так, и классы, которые javac
не могут найти, действительно существуют, то либо вы их не скомпилировали, либо они не находятся в пути к классам ... правильным способом.
Наконец вы спрашиваете:
Как правильно запустить тесты из командной строки через javac?
Это не имеет смысла.Вы используете от javac
до классов .Для их запуска вы используете java
.
В этом разделе вопросов и ответов объясняется, как запускать тесты Junit:
Иобратите внимание, что вам нужно также правильно указать classpath с java
.