从命令提示符运行JUnit:classpath混淆

时间:2011-06-02 14:09:06

标签: junit classpath

我无法从一个有效的JUnit命令行调用转到稍微复杂一些的东西。首先,'hw'是一个没有指定包的类。从hw.class所在的目录成功执行以下命令:

java -cp /usr/share/java/hamcrest-core.jar:/usr/lib/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar:./ org.junit.runner.JUnitCore hw

我现在为hw指定一个包'p',将hw.java移动到subdir'p'中,然后重新编译。如何修改上述命令以使类成功测试?我原以为是

java -cp /usr/share/java/hamcrest-core.jar:/usr/lib/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar:p org.junit.runner.JUnitCore p/hw

可以从p的'superdir'起作用,但它不会......

2 个答案:

答案 0 :(得分:0)

您的命令有两个问题:

  • 类路径必须包含位于包层次结构根目录的目录,即不是p,而是包含p的目录。
  • JUnitCore的参数是类的完全限定名称,即p.hw而非p/hw

答案 1 :(得分:0)

在项目的类路径中执行测试时会遗漏这些类 小号 解决方案:添加你的pom                        公共发现              公共发现              0.5              测试