java命令行程序就是执行一个main。如果我们要命令行跑测试用列怎么办呢?当然maven可以很方便的做到,下面介绍一种比较原始的做法。这里要用到org.junit.runner.JUnitCore
1、待执行的测试类,为了篇幅,我尽量简短
import org.junit.Test;
public class CTest {
@Test
public void ctest1() {
System.out.println("ctest1");
}
}
2、写一个main
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class JunitRunner {
/**
* @param args
*/
public static void main(String[] args) {
Result result = JUnitCore.runClasses(CTest.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
if (result.wasSuccessful()) {
System.out.println("所有测试用列执行成功");
}
}
}
3、执行。执行的过程中需要用到junit依赖jar,好在eclipse再带了junit jar。为了方便执行,我把依赖jar junit-4.11.jar/
hamcrest-core-1.3.jar拷到java文件的目录。
编译: javac -encoding UTF-8 -classpath .;./junit-4.11.jar;./hamcrest-core-1.3.jar CTest.java JunitRunner.java
执行:java -classpath .;./junit-4.11.jar;./hamcrest-core-1.3.jar JunitRunner
输出如下:
ctest1
所有测试用列执行成功