Java >> Java チュートリアル >  >> Tag >> assert

文字列が空ではない Java でのアサーションのテスト

1.概要

特定のシナリオでは、指定された String が 空かどうか。 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.12.0</version>
</dependency>

AssertJ:

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

Google グァバ:

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

3. JUnit の使用

isEmpty を使用します String のメソッド クラスと Assert 指定された String かどうかを検証する JUnit のクラス 空ではありません。 isEmpty 入力 String の場合、メソッドは true を返します assertFalse と一緒に使用できます メソッド:

assertFalse(text.isEmpty());

または、以下も使用できます:

assertTrue(!text.isEmpty());

テキスト以降の考え null の可能性があります。 もう 1 つの方法は、assertNotEquals を使用して等価性チェックを行うことです。 メソッド:

assertNotEquals("", text);

または:

assertNotSame("", text);

こちらの JUnit アサーションに関する詳しいガイドをご覧ください。

これらすべてのアサーションが失敗すると、AssertionError が返されます。

4. Hamcrest コアの使用

Hamcrest は、Java エコシステムで単体テストに一般的に使用されるマッチャーを提供する有名なフレームワークです。

Hamcrest CoreMatchers を利用できます 空文字列チェック用クラス :

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

isEmptyString メソッドは IsEmptyString で利用できます クラス。

これも失敗したときに AssertionError を返しますが、より役立つ出力が得られます:

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

必要に応じて、文字列が空でも null でもないことを確認するには、isEmptyOrNullString を使用できます。 :

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

CoreMatchers の他のメソッドについて学ぶ

5. Apache Commons Lang の使用

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 は、Google が提供するコア ライブラリのセットです。

メソッド isNullOrEmpty Guava Strings から クラスを利用して、文字列が空かどうかを確認できます (またはヌル):

assertFalse(Strings.isNullOrEmpty(text));

これは AssertionError も返します 他の出力メッセージなしで失敗した場合。

Guava API に関する他の記事を調べるには、こちらのリンクをクリックしてください。

8.結論

この簡単なチュートリアルでは、指定された String が 空かどうか

いつものように、完全なコード スニペットは GitHub で入手できます。


Java タグ