首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse JUnit 單元測試快速上手:從建立測試案例到自動化測試套件

     編輯:Java 相關知識

JUnit 是 Java 單元測試事實標準,Eclipse 內建整合讓測試撰寫與執行極為便利。本文以 Hello.abs() 為例,示範建立測試類別、編寫測試方法、執行與結果解讀、TestSuite 組合自動化的完整流程。

建立測試案例步驟

  1. 專案右鍵 → New → JUnit Test Case
  2. Eclipse 提示加入 junit.jar,確認
  3. 選擇測試目標類別(如 example.Hello)
  4. 勾選 setUp()、tearDown(),下一步
  5. 勾選要測試的方法(如 abs(int)),完成

生成的測試類別骨架

public class HelloTest extends TestCase {
    private Hello hello;

    protected void setUp() {
        hello = new Hello(); // 建立測試固件
    }

    protected void tearDown() {
        hello = null; // 清理資源
    }

    public void testAbs() {
        assertEquals(5, hello.abs(5));   // 正數
        assertEquals(5, hello.abs(-5));  // 負數
        assertEquals(0, hello.abs(0));   // 零
    }
}

JUnit 執行流程

try {
    HelloTest test = new HelloTest();
    test.setUp();
    test.testAbs();      // 每個 testXxx() 獨立執行
    test.tearDown();
} catch (Exception e) { /* 標記失敗 */ }
  • 每個 testXxx() 獨立建立實例,互不干擾
  • setUp()/tearDown() 在每個測試方法前後執行
  • 斷言失敗拋出 AssertionFailedError,不捕獲會標紅

執行與查看結果

  1. Run → Run As → JUnit Test
  2. 綠條 = 全通過;紅條 = 有失敗,列出失敗方法與堆疊
  3. 若無 JUnit 視圖:Window → Show View → Other → Java → JUnit

進階:組合 TestSuite 自動化

public class AllTests {
    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTestSuite(HelloTest.class);
        suite.addTestSuite(OtherTest.class);
        return suite;
    }
}

執行 AllTests 即可一次跑完所有測試,適合 XP 持續整合:每次微調程式碼即跑全套,確保不破壞既有功能。

最佳實務建議

  • 測試方法命名:test[MethodName]_[Condition]_[Expected],如 testAbs_NegativeInput_ReturnsPositive
  • 單一測試只驗證一個行為,失敗易定位
  • 邊界值、例外路徑、正常路徑全覆蓋
  • 測試碼與產品碼同等重要,納入 Code Review
  • 避免測試間依賴、共享可變狀態

「測試是為了發現錯誤而執行程式。」將 JUnit 融入日常開發節奏,能大幅降低回歸風險,提升重構信心。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved