我在我的Mac上配置了Junit-4.11,编译javac没有错误,但是当我运行时java,我得到了Could not find class: HelloWorldTest
这是我HelloWorld.java和HelloWorldTest.java
import java.util.*;
public class HelloWorld {
public String output() {
return "Hello world!";
}
}
import static org.junit.Assert.*;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.Test;
import java.util.*;
import org.junit.*;
public class HelloWorldTest {
public HelloWorld helloworld = new HelloWorld();
@BeforeClass
public static void oneTimeSetUp() {
System.out.println("@BeforeClass - oneTimeSetUp");
}
@AfterClass
public static void oneTimeTearDown() {
System.out.println("@AfterClass - oneTimeTearDown");
}
@Before
public void setUp() {
System.out.println("@Before - setUp");
}
@After
public void tearDown() {
System.out.println("@After - tearDown");
}
@Test
public void testOutput() {
assertEquals(helloworld.output(), "Hello world!");
System.out.println("@Test - testOutput");
}
}
Run Code Online (Sandbox Code Playgroud)
我一起跑
javac -classpath ./ HelloWorldTest.java
和 java -classpath ./ org.junit.runner.JUnitCore HelloWorldTest
我得到的是
JUnit version 4.11
Could not find class: HelloWorldTest
Time: 0.002
OK (0 tests)
Run Code Online (Sandbox Code Playgroud)
我把junit-4.11.jar目前的目录放在HelloWorld.java和HelloWorldTest.java,我也把它放在/ Library/Java/Extensions中
我试图解决的是设置JAVA_HOME和CLASSPATH,但它不起作用.
有人能指出出了什么问题吗?我真的很困惑.
谢谢.
好吧,我通过以下步骤解决了我的问题.我的Mac是Mac OSX 10.8,我使用Apple提供的JVM-1.6.您可以点击这里下载.
CLASSPATH我的.zshrc文件(如果你正在使用Bash我认为它是.bashrc)JUnit-4.11.jar(或您使用的任何版本)/Library/Java/Extensions.我设定JAVA_HOME为/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
谢谢.
小智 9
更新:原始海报的解决方案隐藏在下面的评论中.它与没有junit jar文件/Library/Java/Extensions,并且没有CLASSPATH:
我在.zshrc文件中删除了CLASSPATH,并且还删除了/ Library/Java/Extensions和/ Library/Java/Home/lib/ext中的junit-4.11.jar,然后JUnit-4.11工作了.
在临时目录中(来自您问题的java文件):
HelloWorld.java
HelloWorldTest.java
junit-4.11.jar
hamcrest-core-1.3.jar
Run Code Online (Sandbox Code Playgroud)
然后:
javac -cp junit-4.11.jar *.javajava -cp junit-4.11.jar:hamcrest-core-1.3.jar:. org.junit.runner.JUnitCore HelloWorldTest输出:
HelloWorldTest
JUnit version 4.11
@BeforeClass - oneTimeSetUp
.@Before - setUp
@Test - testOutput
@After - tearDown
@AfterClass - oneTimeTearDown
Time: 0,004
OK (1 test)
Run Code Online (Sandbox Code Playgroud)
我建议从头开始重试