JUnit導入

手順

現在Eclipseにデフォルトで同梱されているため特に用意するものはありません。

新規プロジェクトを「Javaプロジェクト」で作成します。
次にEclipseメニューの新規で、JUnitテストケースを作成します。
テストクラスが作成されるのでここに動作確認したい処理を記述します。
テストの記述が終わったら、テストクラスまたはメソッドを右クリックし「実行」から「JUnitテスト」を選択し実行してください。

基本的な仕様を説明します。

JUnitのアノテーション
利用可能なアノテーションは数多くありますが、一部抜粋して紹介します。

@BeforeClass テストクラスのstaticイニシャライザの後に呼ばれる。
@Before テストクラスのコンストラクタの後に呼ばれる。
@Test テストメソッドに付与
@After テストメソッド実行後に実行したいメソッドに付与
@AfterClass テストクラス実行後に実行したいメソッドに付与

JUnitのメソッド
こちらも基本的なものを抜粋し紹介します。
assertEquals(Object expected, Object actual)
expectedtとactualが同じ値の場合は成功、異なる場合は失敗する。
assertEquals(String message, Object expected, Object actual)
expectedtとactualが同じ値の場合は成功、異なる場合は失敗し、
messageが表示される。
assertSame(Object expected, Object actual)
expectedtとactualが同じオブジェクトを参照している場合は成功、
異なる場合は失敗する。
assertSame(String message, Object expected, Object actual)
expectedtとactualが同じオブジェクトを参照している場合は成功、
異なる場合は失敗し、messageが表示される。
fail()
テストを失敗させたい時に利用する。
fail(message)
テストを失敗させたい時に利用する。失敗した時はmessageが表示される。
assertTrue(boolean)
値がtrueの場合は成功、falseの場合派失敗する。
assertTrue(String message, boolean)
値がtrueの場合は成功、falseの場合派失敗し、messageが表示される。
@Test(expected=Exception.class)
テストメソッドではないが、テストを実行すると任意の例外が発生することを
期待する情報を@Testアノテーションに記載する。

サンプル

public class Person {
	private int perMinWalk;
	private int perMinRun;
	private String name;

	public Person(int perMinWalk, int perMinRun, String name){
		this.perMinWalk = perMinWalk;
		this.perMinRun = perMinRun;
		this.name = name;
	}

	public int walk(int min) {
		return perMinWalk * min;
	}

	public int run(int run){
		throw new ArithmeticException();
	}

}
//パッケージのインポート
import static org.junit.Assert.*;

@Test
	public void testSample1() {
		System.out.println("@Test testSample1 call");
		Person person = new Person(2,6,"太郎");
		int min = 100;
		assertEquals(2*min, person.walk(min));
	}

//期待値が2*100,実際のメソッドも2*100となりエラーは発生せずテストも成功します。

	@Test
	public void testSample2(){
		System.out.println("@Test testSample2 call");
		Person person = new Person(2,6,"太郎");
		int min = 100;
		assertEquals("person.walkがおかしいです",5*min, person.walk(min));
	}

//期待値が5*100,実際のメソッドが2*100となっていますので、こちらのケースではエラーとなりエラーメッセージが表示されます。

この記事を読んだ人は以下の記事も読んでいます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA