[Java] Comment tester s'il est nul dans JUnit

Contexte

Lors de l'écriture d'un test unitaire par rapport au code source existant, il était nécessaire d'effectuer un test pour vérifier s'il était nul comme le titre l'indique. J'ai brièvement résumé ce que j'ai appris au cours du processus.

L'outil et la version que vous utilisez sont JUnit 4 (.12) et Hamcrest est 1.3.

Cette fois, je vais l'écrire en supposant que j'écrirai un test dans le préfixe additionneur de ↓.

PrefixAdder.java


public class PrefixAdder {
  public static String execute(String target, String prefix) {
    if (Objects.isNull(target)) {
      return null;
    }
    return prefix + target;
  }
}

Exemple d'échec

Au début, j'ai essayé d'écrire ce qui suit intuitivement comme d'habitude, mais cette façon d'écrire entraînera une erreur de compilation à un niveau qui avertit l'EDI.

PrefixAdderTest.java


public class PrefixAdderTest {
  @Before
  public void setUp() {
  }

  @Test
  public void returnNullWhenTargetIsNull() {
    String result = PrefixAdder.execute(null, "prefix");
    //↓ Erreur de compilation
    assertThat(result, is(null));
  }
}

Succès

Donc, comment l'écrire est d'utiliser la méthode nullValue de la classe IsNull de Hamcrest.

PrefixAdderTest.java


public class PrefixAdderTest {
  @Before
  public void setUp() {
  }

  @Test
  public void returnNullWhenTargetIsNull() {
    String result = PrefixAdder.execute(null, "prefix");
    assertThat(result, nullValue());
  }
}

Vous pouvez maintenant tester null. Si vous souhaitez tester qu'il n'est pas nul, vous pouvez également utiliser la méthode notNullValue de la classe IsNull.

Résumé

Si vous souhaitez écrire un test qui vérifie si une valeur est nulle dans JUnit, utilisez la méthode nullValue de la classe IsNull de Hamcrest. Si vous utilisez la méthode is de la classe Is de la manière habituelle, une erreur de compilation se produira.

C'est facile, mais j'espère que cet article vous a un peu aidé.

référence

Hamcrest Tutorial Classe Hamcrest GitHub IsNull

Recommended Posts

[Java] Comment tester s'il est nul dans JUnit
Comment tester l'étendue privée avec JUnit
Comment tester les interruptions pendant Thread.sleep avec JUnit
[Java] Tester des méthodes privées avec JUnit
A étudié comment appeler des services avec Watson SDK pour Java
[Java] Je souhaite tester l'entrée standard et la sortie standard avec JUnit
Comment compiler Java avec VsCode & Ant
[Java] Résumez comment comparer avec la méthode equals
Comment filtrer JUnit Test dans Gradle
Présentation du test Java automatisé avec JUnit 5 + Gradle
[CircleCI 2.0] [Java] [Maven] [JUnit] Agréger les résultats des tests JUnit avec CircleCI 2.0
Présentation des tests Java automatisés avec JUnit 5 + Apache Maven
Comment tester une méthode privée qui prend un tableau ou un argument de longueur variable dans JUnit
[Java] Comment transformer un tableau à deux dimensions avec une instruction for étendue
JUnit 5: Comment écrire des cas de test dans enum
Comment utiliser le framework Java avec AWS Lambda! ??
Comment utiliser l'API Java avec des expressions lambda
Comment masquer les champs nuls en réponse en Java
[Java] (pour MacOS) Méthode de définition du chemin de classe
Comment écrire du code de test avec la certification de base
Faites un test unitaire avec Junit.
[Java] Comment rendre plusieurs boucles for uniques
Comment effectuer UT avec Excel en tant que données de test avec Spring Boot + JUnit5 + DBUnit
Comment appeler des fonctions en bloc avec la réflexion Java
Comment écrire un test unitaire pour Spring Boot 2
Comment créer un environnement Docker avec Gradle pour IntelliJ
[Java] Comment omettre l'injection de constructeur de ressort avec Lombok
Comment déployer Java sur AWS Lambda avec Serverless Framework
Comment faire un test unitaire avec JVM sur une source à l'aide de RxAndroid
Comment faire un test unitaire Java (JUnit & Mockito & PowerMock)
Comment traiter Aucun modèle de demande interactive
[Pour les débutants] Comment utiliser Stream API après Java 8
[Java] Comment chiffrer avec le chiffrement AES avec une bibliothèque standard
Comment utiliser Truth (bibliothèque d'assertions pour Java / Android)
Essayez de vous connecter à l'émulateur AzureCosmosDB pour Docker avec Java
Comment créer un environnement de développement Java avec VS Code
Comment écrire du Java moderne. Immuable Java, Null Considérez la sécurité.
Comment faire une boucle Java Map (for Each / extended for statement)
Comment exécuter l'exemple WebCamCapture de NyARToolkit pour Java
[Java] Comment rompre une ligne avec StringBuilder
[Java] Exemple de cas de test JUnit 4
Comment abaisser la version java
[Java] Comment utiliser Map
Tester l'API Web avec junit
Comment désinstaller Java 8 (Mac)
Java pour jouer avec Function
Java - Comment créer JTable
Comment utiliser java Facultatif
Comment utiliser JUnit (débutant)
Comment réduire les images Java
Comment rédiger un commentaire java
Comment utiliser la classe Java
[Java] Comment utiliser removeAll ()
[Java] Comment afficher les Wingdings
Test de compétence Java 2018 pour les nouveaux arrivants - Principes de base-