可以在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..."); } } }
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 包。
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...