AssertJ Array Methods - AssertJ 155

AssertJ Array Methods – AssertJ 155

AssertJ Array Methods

是一個 Java 庫,提供了一組豐富的斷言和真正有用的錯誤訊息,驗證 Array 是否為空值、空集合、指定類別實例、元素相等, 提高了測試程式碼的可讀性,使用 AssertJ Array Java Methods 流式斷言,本篇增加了範例,並透過單元測試來驗證產出結果。

檔案目錄

./
   +- src
       +- test
       |   +- org
       |       +- ruoxue
       |           +- spring_boot_168
       |               +- test
       |                   +- assertj
       |                       +- array
       |                           +- AssertJArrayMethodsTest.java   

單元測試

AssertJ Array Methods Java 斷言陣列的主要目的是取得陣列的正確元素以進行斷言。

isNull

驗證是否為空值,若不成立,則會拋出 AssertionError 。

	@Test
	public void isNull() {
		String[] array = null;
		System.out.println(Arrays.toString(array));
		assertThat(array).isNull();

		int[] intArray = null;
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNull();
	}
null
null

isNotNull

AssertJ Array Methods Java 驗證是否不為空值,若不成立,則會拋出 AssertionError 。

	@Test
	public void isNotNull() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		assertThat(array).isNotNull();

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNotNull();
	}
[Durian, Guava, Pitaya]
[1, 2, 3, 4, 5]	

isEmpty

Array Elements with AssertJ 驗證 List 包含全部元素,順序不需要保持一致,若不成立,則會拋出 AssertionError 。

	@Test
	public void isEmpty() {
		String[] array = new String[] {};
		System.out.println(Arrays.toString(array));
		assertThat(array).isEmpty();

		int[] intArray = new int[] {};
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isEmpty();
	}
[]
[]

isNotEmpty

AssertJ Array Methods Java 驗證是否不為空集合,若不成立,則會拋出 AssertionError 。

	@Test
	public void isNotEmpty() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		assertThat(array).isNotEmpty();

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNotEmpty();
	}
[Durian, Guava, Pitaya]
[1, 2, 3, 4, 5]	

isNullOrEmpty

AssertJ Array Methods Java 驗證是否為空值或空集合,若不成立,則會拋出 AssertionError 。

	@Test
	public void isNullOrEmpty() {
		String[] array = null;
		System.out.println(Arrays.toString(array));
		assertThat(array).isNullOrEmpty();
		array = new String[] {};
		System.out.println(Arrays.toString(array));
		assertThat(array).isNullOrEmpty();

		int[] intArray = null;
		System.out.println(Arrays.toString(intArray));
		intArray = new int[] {};
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNullOrEmpty();
	}
null
[]
null
[]

isEqualTo

AssertJ Array Methods in Java 驗證元素是否相等,若不成立,則會拋出 AssertionError 。

	@Test
	public void isEqualTo() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isEqualTo(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isEqualTo(intArray2);
	}
[Durian, Guava, Pitaya]
[Durian, Guava, Pitaya]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]

isNotEqualTo

AssertJ Array Methods in Java 驗證元素是否不相等,若不成立,則會拋出 AssertionError 。

	@Test
	public void isNotEqualTo() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = new String[] { "Durian", "Guava" };
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isNotEqualTo(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = new int[] { 1, 2, 3 };
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isNotEqualTo(intArray2);
	}
[Durian, Guava, Pitaya]
[Durian, Guava]
[1, 2, 3, 4, 5]
[1, 2, 3]

isSameAs

AssertJ Array Functions in Java 驗證實例是否相等,若不成立,則會拋出 AssertionError 。

	@Test
	public void isSameAs() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = array;
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isSameAs(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = intArray;
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isSameAs(intArray2);
	}
[Durian, Guava, Pitaya]
[Durian, Guava]
[1, 2, 3, 4, 5]
[1, 2, 3]

isNotSameAs

AssertJ Array Functions in Java 驗證實例是否不相等,若不成立,則會拋出 AssertionError 。

	@Test
	public void isNotSameAs() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isNotSameAs(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isNotSameAs(intArray2);
	}
[Durian, Guava, Pitaya]
[Durian, Guava, Pitaya]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]

AssertJArrayMethodsTest.java

AssertJ Array Methods in Java 新增單元測試,驗證是否符合預期。

package org.ruoxue.spring_boot_168.test.assertj.array;

import static org.assertj.core.api.Assertions.*;

import java.util.Arrays;

import org.junit.jupiter.api.Test;

public class AssertJArrayMethodsTest {

	@Test
	public void isNull() {
		String[] array = null;
		System.out.println(Arrays.toString(array));
		assertThat(array).isNull();

		int[] intArray = null;
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNull();
	}

	@Test
	public void isNotNull() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		assertThat(array).isNotNull();

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNotNull();
	}

	@Test
	public void isEmpty() {
		String[] array = new String[] {};
		System.out.println(Arrays.toString(array));
		assertThat(array).isEmpty();

		int[] intArray = new int[] {};
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isEmpty();
	}

	@Test
	public void isNotEmpty() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		assertThat(array).isNotEmpty();

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNotEmpty();
	}

	@Test
	public void isNullOrEmpty() {
		String[] array = null;
		System.out.println(Arrays.toString(array));
		assertThat(array).isNullOrEmpty();
		array = new String[] {};
		System.out.println(Arrays.toString(array));
		assertThat(array).isNullOrEmpty();

		int[] intArray = null;
		System.out.println(Arrays.toString(intArray));
		intArray = new int[] {};
		System.out.println(Arrays.toString(intArray));
		assertThat(intArray).isNullOrEmpty();
	}

	@Test
	public void isEqualTo() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isEqualTo(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isEqualTo(intArray2);
	}

	@Test
	public void isNotEqualTo() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = new String[] { "Durian", "Guava" };
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isNotEqualTo(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = new int[] { 1, 2, 3 };
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isNotEqualTo(intArray2);
	}

	@Test
	public void isSameAs() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = array;
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isSameAs(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = intArray;
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isSameAs(intArray2);
	}

	@Test
	public void isNotSameAs() {
		String[] array = new String[] { "Durian", "Guava", "Pitaya" };
		String[] array2 = new String[] { "Durian", "Guava", "Pitaya" };
		System.out.println(Arrays.toString(array));
		System.out.println(Arrays.toString(array2));
		assertThat(array).isNotSameAs(array2);

		int[] intArray = new int[] { 1, 2, 3, 4, 5 };
		int[] intArray2 = new int[] { 1, 2, 3, 4, 5 };
		System.out.println(Arrays.toString(intArray));
		System.out.println(Arrays.toString(intArray2));
		assertThat(intArray).isNotSameAs(intArray2);
	}
}

心得分享

AssertJ Array Functions in Java 為用 Java 編寫的測試程式提供了流暢的斷言語句,這些斷言語句通常與 JUnit 測試一起使用, AssertJ 斷言的基本方法是 assertThat 方法,善用 AssertJ Array Methods in Java 將有助於驗證效率的提升。

發佈留言