Junitでjavaの単体テストを作る
スポンサーリンク
javaのテストフレームワークであるjunit.使い方を少し学んだので書いておきます. eclipse (Kepler)ですと,標準で入っているので手間が無いですね.
eclipseでのjunitの使い方
- パッケージエクスプローラの中で,テストを行いたいクラスの書かれたソースをクリックして選択
- 右クリックで新規→その他
-
そのまま次へ
テスト・メソッドの画面になる.使用可能なメソッドからテストを作りたいメソッドをチェックして完了
junit4がない問われたらOKで.
結果,テスト用のクラスが作られる.
テストで使うクラス
今回テストするクラス:
public class JunitExample { public JunitExample() { // TODO 自動生成されたコンストラクター・スタブ } public int foo() { return 1; } }
作成されたテスト用クラス:
import static org.junit.Assert.*; import org.junit.Test; public class JunitExampleTest { @Test public void testFoo() { fail("まだ実装されていません"); } }
実行
Ctr+F11で実行.
こんなふうに,失敗マークであるバツじるしが書かれる.
修正
assertEquals()
を入れてみる.
public static void assertEquals(long expected, long actual) Asserts that two longs are equal. If they are not, an AssertionError is thrown. Parameters: expected - expected long value. actual - actual long value
期待する値とテストしたいメソッドの出す値が一致していればテスト成功. でなければテスト失敗,というシンプルな関数です.
例を書いてみます↓
@Test public void testFoo() { JunitExample example = new JunitExample(); assertEquals(1, example.foo()); }
実行すると,こんな画面に.うまく言ったので,緑のチェックマークが付きました.
失敗した時
失敗すると,障害とレース場面に,but was <1>
のように実際の出力値がなんだったか出してくれるので便利ですね.