【Java】チートシート【junit】

スポンサーリンク

※このページにはプロモーションが含まれています。当サイトは各種アフィリエイトプログラムから一定の収益を得ています。

基本のテスト

// 期待値と実測値が同じことを確認

// Objectの確認
String expected = "aaa";
String actual = "aaa";
assertEquals(expected, actual);

// 配列の確認
String[] expectedArray =  {"aaa", "bbb"};
String[] actualArray =  {"aaa", "bbb"};
assertArrayEquals(expectedArray, actualArray);

// Iterableの確認
List<String> expectedList =  new ArrayList();
List<String> actualList =  new ArrayList();
assertIterableEquals(expectedList, actualList);

真偽値のテスト

// true/falseの確認

// trueであることを確認
assertTrue(50 < 100);

// falseであることを確認
assertFalse(50 > 100);

オブジェクトのテスト

// オブジェクト参照の確認

Object a = new Object();
Object aCopy = a;
Object b = new Object();

// オブジェクト参照先が同じ
assertSame(a, aCopy);

// オブジェクト参照先が異なる
assertNotSame(a, b);

Nullのテスト

// Nullの確認

String strNull = null;
String strBlank = "";

// Nullであることを確認
assertNull(strNull);

// Nullでないことを確認
assertNotNull(strBlank);

Exceptionのテスト

@Test
void test5() {

	String str = null;
	assertThrows(NullPointerException.class, () -> exceptionTest(str));
}

boolean exceptionTest(String str) throws Exception {

	String check = "test";

	return str.equals(check);
}

テストの前後に処理をしたい

// テストクラスの実行前に一度だけ処理
// staticにする必要あり
@BeforeAll
static void beforeAll() {
	System.out.println("---beforeAll---");
}

// テストクラスの実行後に一度だけ処理
// staticにする必要あり
@AfterAll
static void afterAll() {
	System.out.println("---afterAll---");
}

@Test
void test() {
	System.out.println("---testケース実行---");
}

// 各テストの実行前に処理
@BeforeEach
void beforeEach() {
	System.out.println("---beforeEach---");
}

// 各テストの実行後に処理
@AfterEach
void afterEach() {
	System.out.println("---afterEach---");
}

実行結果

---beforeAll---
---beforeEach---
---testケース実行---
---afterEach---
---afterAll---

タイムアウトのテスト

// 1秒で処理が終わらなかったらテスト失敗。処理完了まで待つ
assertTimeout(Duration.ofSeconds(1), () -> timeoutTest());

// 1秒で処理が終わらなかったらテスト失敗。処理は強制終了
assertTimeoutPreemptively(Duration.ofSeconds(1), () -> timeoutTest());

関連記事

【Java】チートシート

スポンサーリンク

Java