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>
<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. 결론
이 빠른 사용방법(예제)에서 주어진 문자열 이 비어 있는지 여부를 확인하는 방법을 알아 냈습니다 .