在命令行中運行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測試類。
- 打開命令提示符,然後往下移目錄,找到兩個類所在的目錄。
- 編譯測試類和運行類。
- 現在運行 JunitRunner.
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...