Unit Test Framework – JUnit 4

上一篇有大略介紹 JUnit 3.8.2 的使用方法,這一篇就來稍微介紹 JUnit 4.x 的大略使用。

目前最新版本是 JUnit 4.11,可以從 JUnit 的 GitHub 裡閱讀他的文件。

掌握以下幾個要點就可以撰寫一個 JUnit 4 的 Unit Test 囉!
1. Import JUnit 4 Library
2. 寫一個 JUnit 4 Test 的 Class
3. 執行 JUnit 4 測試

  1. Import JUnit 4 Library
    這部分跟上篇 JUnit 3 介紹的幾乎一樣,就不多敘述了。

  2. 寫一個 JUnit Test 的 Class
    假設今天要利用 JUnit 4 測試一個 method,必須掌握以下幾個要點:
    (1) 在 test method 上面加上 @test
    (2) @Before:會在每一個 @test 前先執行一次,就像 JUnit 3 的 setUp()
    (3) @After:會在每一個 @test 後再執行一次,就像 JUnit 3 的 tearDown()
    (4) @BeforeClass:會在執行 class 前會先執行一次
    (5) @AfterClass:會在執行完 class 後會再執行一次
    (6) assertEquals:幫助檢驗執行結果與預期結果是否相等

承上篇一樣針對一個 Calculator 做個練習吧!

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class JUnit4TestCalculator {
    @BeforeClass
    public static void beforeClass()
    {
        System.out.println("@BeforeClass");
	/* 開始 Test Class 前的準備工作:開啟計算機... */

    }

    @Before
    public void before()
    {
        System.out.println("@Before");
	/* 開始 Test Case 前的準備工作:將計算機歸零... */

    }

    @AfterClass
    public static void afterClass()
    {
        System.out.println("@AfterClass");
	/* 完成 Test Class 後的恢復工作:關閉計算機... */

    }

    @After
    public void after()
    {
        System.out.println("@After");
	/* 完成 Test Case 後的恢復工作:將計算機歸零... */

    }

    @Test
    public void testSubtraction()
    {
	Calculator calculator = new Calculator();
        System.out.println("@Test - testSubtraction()");
        Assert.assertEquals(0, calculator.subtraction(0, 0));
    }

    @Test
    public void testAdd()
    {
    	Calculator calculator = new Calculator();
        System.out.println("@Test - testAdd()");
        Assert.assertEquals(0, calculator.add(0, 0));
    }
}
  1. 執行 JUnit 4 測試
    Run As → JUnit Test
    即可觀看結果。
    JUnit4 Test Result

實際執行順序會是:
@BeforeClass
@Before
@Test – testSubtraction()
@After
@Before
@Test – testAdd()
@After
@AfterClass

有這樣的基本架構這樣就可以執行 JUnit 4 了。

參考文章:
(1) JUnit (Wiki)
(2) 開源框架:JUnit Gossip
(3) JUnit 4 教學
(4) JUnit 4 – Assert

廣告

2 thoughts on “Unit Test Framework – JUnit 4

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s