在命令行中運行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...