【发布时间】:2014-09-23 17:19:31
【问题描述】:
我正在尝试 JUnit 4.11。我编写了 JUnit FooTest.java 提供的这个示例
public class FooTest{
@Test
public void thisAlwaysPass(){
}
}
我在/usr/lib/jvm/java/jre/lib/ext 有 JUnit 4.11 jar 和 Hamcrest jar
现在当我运行以下命令时,它说找不到类。
$ java -cp . org.junit.runner.JUnitCore FooTest
JUnit version 4.11
could not find class : FooTest
Time : 0.002
OK (0 Tests)
我认为类路径有问题。所以我尝试不使用 JUnit,它说缺少 main:
$ java -cp . FooTest
Error: main method not found in FooTest
所以 Java 能够加载该类。但是当我尝试使用 JUnit 运行时,它找不到该类。我对java类加载有一个基本的了解。我在 JUnit 中遗漏了什么吗?
我正在使用 Fedora 17 和 OpenJDK 1.7
【问题讨论】:
-
只是猜测,但您不应该提供
FooTest的完全限定类名吗? -
但是我没有把它放在一个包里。这是强制性的吗?
-
删除junit无济于事..因为你需要main()
-
@rozar 是的,我知道我只是想知道 java 是否可以加载该类。它会加载。
-
确实,如果您使用 maven 或 gradle,这会容易得多,它们已经为您解决了所有类路径问题。