我正在尝试从命令行运行JUnit 4测试。这是我目前的命令:
java -cp C:\Users\some\.m2\repository\junit\junit\4.11\junit-4.11.jar junit.textui.TestRunner C:\Some\Path\target\test-classes\com\wicket\range\ui\MyTest.class
这会给出一个未找到类的错误。
我也尝试了以下内容:
C:\Some\Path\target\test-classes>java -cp C:\Users\some\.m2\repository\junit\junit\4.11\junit-4.11.jar junit.textui.TestRunner com.wicket.range.MyTest.class
这也给出了一个未找到类的错误;这可能是什么问题?
答案 0 :(得分:2)
我假设您的测试类位于C:\ Some \ Path \ target \ test-classes(在相应的子目录中)。你的命令只有junit。它还需要测试和其他依赖项的类路径。
尝试
java -cp C:\Some\Path\target\test-classes;C:\Users\some\.m2\repository\junit\junit\4.11\junit-4.11.jar junit.textui.TestRunner com.wicket.range.MyTest.class
答案 1 :(得分:1)
看起来你正在使用Maven(在你的类路径中看到“.m2”)。怎么样..
cd <location of pom.xml>
mvn -Dtest=MyTest test
当然,它可能需要一段时间才能运行你的测试并且它不会使用JUnit的文本ui runner,但它应该运行你的测试而不必担心ClassNotFoundException。之后检查target \ surefire-reports中的文件以获取测试结果。猜猜这取决于你的目标究竟是什么。
否则,Jayan的答案看起来对我来说是正确的。为了他的工作,我想你想先#
cd C:\Some\Path\target\test-classes