Java junit:找不到测试类

Java junit:找不到测试类,java,junit,Java,Junit,我在这里和其他地方看到了重复的问题,包括JUnit常见问题解答(http://junit.sourceforge.net/doc/faq/faq.htm#running_1) junit-4.10.jar位于/Library/Java/Extensions,它自动位于类路径上 我的测试类在我的工作目录中编译。它不是任何包装的一部分。但是,这些都不起作用: java org.junit.runner.JUnitCore TestBoard java -cp . org.junit.runner.J

我在这里和其他地方看到了重复的问题,包括JUnit常见问题解答(http://junit.sourceforge.net/doc/faq/faq.htm#running_1)

junit-4.10.jar位于/Library/Java/Extensions,它自动位于类路径上

我的测试类在我的工作目录中编译。它不是任何包装的一部分。但是,这些都不起作用:

java org.junit.runner.JUnitCore TestBoard
java -cp . org.junit.runner.JUnitCore TestBoard
两者都返回:

JUnit version 4.10
Could not find class: TestBoard

Time: 0.001

OK (0 tests)

确定这是JUnit的问题还是类和/或类路径的问题的最佳方法是向测试类添加一个main方法:

public class TestBoard extends TestCase {

  public void testThatShouldFail() {
    fail();
  }

  public static void main(String[] args) {
    System.err.println("Hello World!");
  }
}
然后您可以运行:

javac TestBoard.java
java TestBoard
如果没有打印“Hello World!”则说明您的环境(类路径问题等)或测试类有问题


我最好的猜测是你忘了公开这个类。

最近我在junits测试中遇到了类似的问题。运行测试(在我的例子中是“mvn测试”)会导致一些类型的错误执行。
事实证明,我在项目中使用的是JDK1.6。当我切换到jdk 1.7时,一切都结束了。

TestBoard是类的完整名称吗(即,TestBoard不是包的一部分)?TestBoard.class在哪里存在?从(目录)运行此
java
命令的位置是哪里?@peedinterQueue TestBoard是类的完整名称,不是包的一部分。@Vikdor TestBoard.class与我运行
java
命令的目录相同。我遇到了完全相同的问题。这个问题已经在StackOverflow上发布了很多次,但没有一个答案能起到帮助作用。这个连电话都没接!