JUnitの文字列のアサーション
Sal
kotlin 実測値と期待値を比較検証するプロセスのこと。ユニットテスト、ひいてはソフトウェアテストにおいて最も重要な概念。UnitではAssertJのようなアサーションライブラリを用いることで、自然言語に近い直感的な記述が可能になる

JUnitの文字列のアサーション

  1. アサーション
  2. 文字列のアサーション
  3. アサーションにラベルを付ける.`as`(...)
  4. JUnitの.isEqualToIgnoreingCase("kotlin")
  5. JUnitの.isNotEqualTo("KOLTIN")
  6. JUnitの.startsWith("KO") / .endsWith("IN")
  7. JUnitの.contains("TL")
  8. JUnitの .isInstanceOf(String:class.java)
  9. String型のJUnitのポイント
  10. 備考
## アサーション
実測値と期待値を比較検証するプロセスのこと ユニットテスト、ひいてはソフトウェアテストにおいて最も重要な概念。 JUnitではAssertJのようなアサーションライブラリを用いることで、 自然言語に近い直感的な記述が可能になる ここではAssertJの基本的な使い方について扱う
## 文字列のアサーション
"KOTLIN"という文字列を様々な条件で比較検証してみる

assertThat("KOTLIN")
    .`as`("KOTLINの文字列チェック")
    .isEqualTo("KOTLIN")
    .isEqualToIgnoreingCase("kotlin")
    .isNotEqualTo("KOLTIN")
    .startsWith("KO")
    .endsWith("IN")
    .contains("TL")
    .isInstanceOf(String:class.java)
## アサーションにラベルを付ける.`as`(...)

assertThat("KOTLIN")
    .`as`("KOTLINの文字列チェック")
アサーションにラベルを付けると、テストが失敗した時にここで定義したラベル名が表示されるので、 どのアサーションが失敗したのか分かりやすくなる。 AssertJの「as」であることを示すために、`as`と表記する
## JUnitの.isEqualToIgnoreingCase("kotlin")
JUnitで大文字小文字を無視する

assertThat("KOTLIN")
    .isEqualToIgnoreingCase("kotlin")
## JUnitの.isNotEqualTo("KOLTIN")
JUnitで等しくない事を示す。

assertThat("KOTLIN")
    .isNotEqualTo("KOLTIN")
## JUnitの.startsWith("KO") / .endsWith("IN")
特定の文字列からスタート/終了するか検証する

assertThat("KOTLIN")
    .startsWith("KO")
## JUnitの.contains("TL")
特定の文字列が含まれるか検証する

assertThat("KOTLIN")
    .contains("TL")
## JUnitの .isInstanceOf(String:class.java)
文字列型であるかどうかを検証する

assertThat("KOTLIN")
    .isInstanceOf(String:class.java)
## String型のJUnitのポイント
1. 次のように、メソッドはチェインすることができる 一個失敗したらその後のアサーションは全て実行されない。

assertThat("KOTLIN")
    .`as`("KOTLINの文字列チェック")
    .isEqualTo("KOTLIN")
    .isEqualToIgnoreingCase("kotlin")
    .isNotEqualTo("KOLTIN")
    .startsWith("KO")
    .endsWith("IN")
    .contains("TL")
    .isInstanceOf(String:class.java)
2. メソッドチェーンでエラーで躓いてほしくないときは SoftAssertionsを用いて以下のように書く

SoftAssertions().apply{
    assertThat("KOTLIN")
        .`as`("KOTLINの文字列チェック")
        .isEqualTo("KOTLIN")
        .isEqualToIgnoreingCase("kotlin")
        .isNotEqualTo("KOLTIN")
        .startsWith("KO")
        .endsWith("IN")
        .contains("TL")
        .isInstanceOf(String:class.java)
}.assertAll()
## 備考
title:JUnitの文字列のアサーション description:実測値と期待値を比較検証するプロセスのこと。ユニットテスト、ひいてはソフトウェアテストにおいて最も重要な概念。UnitではAssertJのようなアサーションライブラリを用いることで、自然言語に近い直感的な記述が可能になる img:https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRmucaKbgWgJTHfHMMdUFAziBpyeB-GNVTnrQrRHJ46re_871oNfxeUkcxdp5RNQaalwc8&usqp=CAU category_script:True