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