在命令行中運行JUnit測試
可以在Eclipse之外運行JUnit測試,使用org.junit.runner.JUnitCore類。 這個類提供了runClasses()方法,它允許運行一個或多個測試類。runClasses()方法返回類型是org.junit.runner.Result對象類型。 這個對象可以被用來收集關於測試信息。此外,如果有一個失敗的測試,可以用org.junit.runner.notification.Failure對象保存失敗測試的描述。
下面的步驟顯示瞭如何在Eclipse之外(命令行下)運行測試。
用下面的代碼創建一個新的Java類爲JunitRunner.java:
JunitRunner.java
package com.yiibai.junit;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class JunitRunner {
public static void main(String\[\] args) {
Result result = JUnitCore.runClasses(AssertionsTest.class);
for (Failure fail : result.getFailures()) {
System.out.println(fail.toString());
}
if (result.wasSuccessful()) {
System.out.println("All tests finished successfully...");
}
}
}
作爲一個例子,我們選擇運行AssertionsTest測試類。
- 打開命令提示符,然後往下移目錄,找到兩個類所在的目錄。
- 編譯測試類和運行類。
1
C:\Users\yiibai\eclipse_workspace\JUnitGuide\test\com\yiibai\junit>javac -classpath "C:\Users\yiibai\Downloads\junit-4.11.jar";"C:\Users\yiibai\Downloads\hamcrest-core-1.3.jar"; AssertionsTest.java JunitRunner.java
注:這裏指定包含相關 junit 的相關 jar 包。
- 現在運行 JunitRunner.
1
C:\Users\yiibai\eclipse_workspace\JUnitGuide\test\com\yiibai\junit>java -classpath "C:\Users\yiibai\Downloads\junit-4.11.jar";"C:\Users\yiibai\Downloads\hamcrest-core-1.3.jar"; JunitRunner
這裏是結果輸出:
All tests finished successfully...