1. 개요

특정 시나리오에서는 주어진 문자열 이 비어 있는지 여부를 주장해야합니다 . Java에서 이러한 주장을 수행하는 방법에는 여러 가지가 있습니다.

이 빠른 사용방법(예제)에서 이러한 테스트 어설 션 기술 중 일부를 살펴 보겠습니다 .

2. Maven 의존성

먼저 몇 가지 의존성을 확보해야합니다. Maven 프로젝트에서 pom.xml에 다음 의존성을 추가 할 수 있습니다 .

JUnit :

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>

햄 크레스트 코어 :

<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-core</artifactId>
    <version>1.3</version>
</dependency>

Apache Commons Lang :

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
</dependency>

AssertJ :

<dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-core</artifactId>
    <version>3.11.1</version>
</dependency>

구글 구아바 :

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>26.0-jre</version>
</dependency>

3. JUnit 사용

String 클래스 isEmpty 메서드를 JUnit Assert 클래스 와 함께 사용하여 주어진 문자열 이 비어 있지 않은지 확인합니다 . 때문에 IsEmpty 함수의  메소드가 리턴 true를 입력하면 문자열은 우리가 함께 사용할 수 있습니다 비어  assertFalse의 방법 :

assertFalse(text.isEmpty());

또는 다음을 사용할 수도 있습니다.

assertTrue(!text.isEmpty());

이후 생각 텍스트가 null이 될 수도, 또 다른 방법은 사용하여 평등 검사를하고있다 assertNotEquals의 방법 :

assertNotEquals("", text);

또는:

assertNotSame("", text);

여기 에서 JUnit 어설 션에 대한 심층 사용방법(예제)를 확인 하세요 .

이러한 모든 주장이 실패하면 AssertionError 를 반환합니다 .

4. Hamcrest Core 사용

Hamcrest  는 Java 에코 시스템에서 단위 테스트에 일반적으로 사용되는 매처를 제공하는 잘 알려진 프레임 워크입니다.

빈 문자열 검사를 위해 Hamcrest CoreMatchers  클래스를 사용할 수 있습니다  .

assertThat(text, CoreMatchers.not(isEmptyString()));

isEmptyString의 방법은 사용할 수 있습니다 IsEmptyString의 클래스입니다.

또한 실패 할 때 AssertionError를 반환하지만 더 유용한 출력을 제공합니다.

java.lang.AssertionError: 
Expected: not an empty string
     but: was ""

필요한 경우 String이 비어 있거나 null이 아닌지 확인 하기 위해 isEmptyOrNullString을 사용할 수 있습니다 .

assertThat(text, CoreMatchers.not(isEmptyOrNullString()));

의 다른 방법에 대한 자세한 내용은 CoreMatchers의 클래스 읽기 이전에 발행 된 기사입니다.

5. Apache Commons Lang 사용

아파치 코 몬즈 랭 라이브러리는 헬퍼 유틸리티의 호스트 제공하고 있는 java.lang의 API를.

인 StringUtils의 클래스 이벤트 우리는 빈 문자열을 확인하는 데 사용할 수있는 방법 :

assertTrue(StringUtils.isNotBlank(text));

실패하면 간단한 AssertionError를 반환합니다 .

Apache Commons Lang을 사용한 문자열 처리에 대해 자세히 알아 보려면  기사를 읽으십시오 .

6. AssertJ 사용

AssertJ  는 Java 테스트에서 유창하고 풍부한 어설 션을 작성하는 데 사용되는 커뮤니티 기반 라이브러리 인 오픈 소스입니다.

AbstractCharSequenceAssert.isNotEmpty () 메서드  는 실제 CharSequence 가 비어 있지 않은지, 즉 null이 아니고 길이가 1 이상인지 확인합니다 .

Assertions.assertThat(text).isNotEmpty()

실패하면 출력을 인쇄합니다.

java.lang.AssertionError: 
Expecting actual not to be empty

여기 에 AssertJ에 대한 멋진 소개 기사가 있습니다 .

7. Google Guava 사용

Guava 는 Google에서 제공하는 핵심 라이브러리 모음입니다.

Guava Strings 클래스의 isNullOrEmpty 메소드  를 사용하여 String이 비어 있는지 (또는 null)인지 확인할 수 있습니다 .

assertFalse(Strings.isNullOrEmpty(text));

또한 다른 출력 메시지없이 실패 할 때 AssertionError를 반환 합니다.

Guava API에 대한 다른 기사를 탐색하려면 여기 링크를 클릭  하십시오 .

8. 결론

이 빠른 사용방법(예제)에서 주어진 문자열 이 비어 있는지 여부를 확인하는 방법을 알아 냈습니다 .

항상 그렇듯이 전체 코드 스 니펫은 GitHub 에서 사용할 수 있습니다 .