好吧,我就像jUnit的其他新手一样,并且很难尝试让它工作.我搜索过论坛但提供了答案; 我只是没有得到.如果那里有人可以伸出援助之手我会非常感激.
让我提供基础知识:操作系统:mac OS X.6
export JUNIT_HOME="/Developer/junit/junit4.8.1"
export CVSROOT="/opt/cvsroot"
export PATH="/usr/local/bin:/usr/local/sbin:/usr/localmysql/bin:/opt/PalmSDK/Current/bin/:/usr/local/mysql/bin:$PATH:$JUNIT_HOME:$CVSROOT"
export CLASSPATH="$CLASSPATH:$JUNIT_HOME/junit-4.8.1.jar:$JUNIT_HOME"
Run Code Online (Sandbox Code Playgroud)
我可以从java文件编译测试类,但是当我尝试运行测试时
java org.junit.runner.JUnitCore MyTest.class
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
JUnit version 4.8.1
Could not find class: MyTest.class
Time: 0.001
OK (0 tests)
Run Code Online (Sandbox Code Playgroud)
现在我已经MyTest.class在我的文件系统中的某个位置的目录中,我尝试将源文件夹移动到junit文件夹和junit/junit4.8.1文件夹以及相同的结果.我甚至无法运行junit附带的测试.
是否MyTest真的在默认的包?如果没有,那么您需要提供整个包限定名称.换句话说,如果MyClass有一个声明
package com.myself;
Run Code Online (Sandbox Code Playgroud)
并且生活在
/myproject/src/com/myself/MyClass.java
Run Code Online (Sandbox Code Playgroud)
你编译成了
/myproject/classes
Run Code Online (Sandbox Code Playgroud)
然后/myproject/classes必须在你CLASSPATH身上,你必须
java org.junit.runner.JUnitCore com.myself.MyTest
Run Code Online (Sandbox Code Playgroud)
想想看,我现在看到你附加.class了类名,所以即使它在默认包中,你也应该说
java org.junit.runner.JUnitCore MyTest
Run Code Online (Sandbox Code Playgroud)