JUnit4 ことはじめ

ずっと食わず嫌いだった JUnit4 を使ってみたので, コードを晒しておきます…

/*
 * $Id$
 */
package net.nanasess.examples;
import java.util.ArrayList;
import java.util.List;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.*;
/**
 * HelloWorld のテスト.
 *
 * @author Kentaro Ohkouchi
 * @version $Revision$ $Date$
 */
public class HelloWorldTest {
    private static String expected;
    private String actual;
    private static int counter;
    /**
     * すべてのテスト前に実行するメソッド.
     *
     * static にして {@link @beforeClass} アノテーションをつける.
     */
    @BeforeClass
    public static void beforeClass() {
        System.out.println("HelloWorld テストを始めます.");
        counter = 0;
        System.out.println("カウンターを初期化しました.");
    }
    /**
     * すべてのテストを終了した後に実行するメソッド.
     *
     * static にして {@link @AfterClass} アノテーションをつける.
     */
    @AfterClass
    public static void afterClass() {
        System.out.println(counter + " 個のテストを実行しました.");
        System.out.println("HelloWorld テストを終了します.");
    }
    /**
     * 各テストをする前に実行するメソッド.
     *
     * {@link @Before} アノテーションをつける.
     */
    @Before
    public void before(){
        expected = "HelloWorld";
        System.out.println("expected を初期化しました.");
    }
    /**
     * 各テストの後に実行するメソッド.
     *
     * {@link @After} アノテーションをつける.
     */
    @After
    public void after() {
        counter++;
        System.out.println(String.valueOf(counter) + " 番目のテストを実行しました.");
    }
    /**
     * HelloWorld のテスト.
     */
    @Test
    public void helloWorld() {
        actual = "HelloWorld";
        assertEquals(expected, actual);
    }
    /**
     * ちゃんと ClassNotFoundException になるかどうかのテスト.
     *
     * @throws Exception エラーが発生した場合.
     */
    @Test(expected = ClassNotFoundException.class)
    public void classForNameFailure() throws Exception {
        Class.forName("org.postgresql.Driver");
    }
    /**
     * スタブなので, スキップするテスト.
     *
     * {@link @Ignore} アノテーションをつけると, そのメソッドはテストしない.
     */
    @Ignore("スタブなのでテストしません...")
    @Test
    public void testStub() {
        assertEquals("test", "stub");
    }
    /**
     * 配列を比較するテスト.
     *
     * {@link org.junit.Assert#assertArrayEquals(String[], String[])} を使ってます.
     * 配列や, List のテストも楽になったものです(しみじみ)
     */
    @Test
    public void arrays() {
        String[] expecteds = { "1", "2", "3" };
        List actuals = new ArrayList();
        actuals.add("1");
        actuals.add("2");
        actuals.add("3");
        assertArrayEquals(expecteds, actuals.toArray(new String[actuals.size()]));
    }
}

個人的には, 配列や例外のテストが解りやすく楽になったのが良い感じ.

JUnit4 の関連ライブラリも充実してきたので, そろそろ乗り替え時かな…

ついでに, Eclipse 3.4M6a を Celeron 600MHz, メモリ 384MB という非力なノートPCで使ってみましたが, 思ったよりサクサクで良い感じでした☆

広告

JUnit4 ことはじめ」への1件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中