0
0

More than 1 year has passed since last update.

JUnit5 メモ

Last updated at Posted at 2022-12-17

ルール

JUnitを利用する場合、import文を記述する
テストクラスの中に複数のテストメソッドを入力
mainメソッドを記述しない
@Testをつける。
@Test: JUnitにテストメソッドであることを認識させる.
値の確認には、専用のメソッドを使用する

JUnitで利用できる主なメソッド

assertEquals(期待値,実際値)
equalsで比較して同じことを検証

assertSame(期待値,実際値)
等号で比較して同じインスタンスであることを検証

assertNull(実際値)
nullであることを検証

assetNotNull(実際値)
nullでないことを検証

fail()
例外が発生時した際に正しく動くか検証する

import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;

import org.junit.jupiter.api.*;

public class BankTest {
	// 正常系:"kei"をセットできるか
	@Test
	public void setName() {
		Bank b = new Bank();
		b.setName("Kei");
	}

	// 異常系: nullをセットしようとしたら例外が起きるべき
	@Test
	public void setNameWithNull() {
		try {
			Bank b = new Bank();
			b.setName(null);
		} catch (NullPointerException e) {
			return;
		}
		fail();
	}

	// 異常系:2文字をセットしようとした場合、例外が起きるべき
	@Test
	public void throwExceptionWithTwoCharName() {
		Bank b = new Bank();
		assertThrows(IllegalArgumentException.class, () -> {
			b.setName("Ai");
		});
	}
}
public class Bank {
	private String name;
	public String getName() {
		return this.name;
	}
	public void setName(String newName) {
	if(newName.length() <=3) {
		throw new IllegalArgumentException("名前が不正です");
		}
	this.name = newName;
	}
}

参考資料

スッキリわかるJava入門 実践編 第3版 (スッキリわかる入門シリーズ)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0