JUnit运行测试命令行

Ale*_*lex 5 java junit

我有以下结构

lib/junit-4.10.jar
tests/Tester.java
tests/Tester.class
build/jar/jar_file.jar
Run Code Online (Sandbox Code Playgroud)

(测试人员属于包裹测试)

我可以使用编译测试

javac -cp build/jar/jar_file.jar:lib/junit-4.10.jar tests/*.java
Run Code Online (Sandbox Code Playgroud)

但是我似乎无法运行测试:

java -cp build/jar/jar_file.jar:lib/junit-4.10.jar org.junit.runner.JUnitCore tests.Tester
Run Code Online (Sandbox Code Playgroud)

要么

java -cp build/jar/jar_file.jar:lib/junit-4.10.jar org.junit.runner.JUnitCore Tester
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

JUnit version 4.10
Could not find class: tests.Tester

Time: 0.001

OK (0 tests)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个Could not find class问题?我认为它可能与类路径有关.

Gui*_*one 9

假设这是Linux/Mac(不是Windows)并且您的路径分隔符是正确的(:),因为您的测试类文件存在于当前工作目录(.)下的包子目录中.您需要添加"." 到您的类路径,例如:

java -cp .:build/jar/jar_file.jar:lib/junit-4.10.jar org.junit.runner.JUnitCore tests.Tester
Run Code Online (Sandbox Code Playgroud)