assertions java java assert tutorial with code examples
Ce didacticiel Java Assert explique tout sur les Assertions en Java. Vous apprendrez à activer et désactiver les assertions, à utiliser les assertions, les exemples d'assertions, etc.:
Dans nos didacticiels précédents, nous avons déjà discuté des exceptions en Java. Ce sont les erreurs qui sont détectées lors de l'exécution. À l'instar des exceptions, il existe d'autres constructions que nous pouvons utiliser au moment de la compilation pour tester l'exactitude du code. Ces constructions sont appelées «Assertions».
Dans ce didacticiel, nous discuterons en détail des assertions en Java. Nous pouvons définir une assertion comme une construction qui nous permet de tester l'exactitude ou la clarté des hypothèses que nous avons formulées dans notre programme Java.
=> Jetez un œil au guide du débutant Java ici.
Ce que vous apprendrez:
Assertions en Java
Ainsi, lorsque nous exécutons une assertion dans un programme, elle est supposée être vraie. S'il devient faux ou échoue, JVM lèvera une AssertionError.
Nous utilisons des assertions lors du développement à des fins de test. Lors de l'exécution, les assertions sont désactivées par Java.
En quoi les assertions diffèrent-elles des exceptions normales?
Contrairement aux exceptions normales, les Assertions sont principalement utiles pour vérifier les situations logiques dans un programme sur lesquelles nous avons des doutes. Contrairement aux exceptions normales qui peuvent également être levées au moment de l'exécution, les assertions sont désactivées au moment de l'exécution.
Les assertions peuvent être utilisées aux endroits du code où le développeur a un contrôle maximal comme elles peuvent être utilisées comme paramètres de méthodes privées. Les assertions peuvent également être utilisées avec des cas conditionnels. De même, les conditions au début de toute méthode peuvent contenir des assertions.
Cependant, les assertions ne doivent pas être considérées comme un remplacement des messages d'erreur. Ni les assertions ne doivent être utilisées dans les méthodes publiques, par exemple, pour vérifier les arguments. Plus important encore, nous ne devons pas utiliser d'assertions sur les arguments de ligne de commande en Java.
En Java, les assertions sont désactivées par défaut. Donc, pour que les assertions fonctionnent dans un programme Java, nous devons d'abord activer les assertions.
Activer les assertions en Java
Pour activer les assertions, nous devons le faire à partir de la ligne de commande.
Voici la syntaxe générale pour activer l'assertion en Java.
liste doublement chaînée c ++
java –ea: arguments
ou
java –enableassertions: arguments
À titre d'exemple, nous pouvons activer les assertions pour une classe particulière comme indiqué ci-dessous:
java –ea TestProgram
ou
java –enableassertions TestProgram
Ici, TestProgram est une classe pour laquelle l'assertion doit être activée.
Lorsque la condition est vraie dans l'instruction assert dans le programme et que les assertions sont activées, le programme s'exécutera normalement. Lorsque la condition est fausse et que les assertions sont activées, le programme lève AssertionError et le programme s'arrête.
Il existe différentes variantes pour activer les assertions à l'aide de la ligne de commande.
# 1) java –ea
Lorsque la commande ci-dessus est donnée dans la ligne de commande, les assertions sont activées dans toutes les classes à l'exception des classes système.
# 2) java –ea Main
La commande ci-dessus active l'assertion pour toutes les classes du programme principal.
# 3) java –ea TestClass Main
Cette commande active les assertions pour une seule classe - «TestClass» dans le programme principal.
# 4) java –ea com.packageName… Main
La commande ci-dessus active l'assertion pour le package com.packageName et ses sous-packages dans le programme principal.
# 5) java –ea… Main
Active l'assertion pour le package sans nom dans le répertoire de travail actuel.
# 6) java –esa: arguments OU java –enablesystemassertions: arguments
La commande ci-dessus active les assertions pour les classes système.
comment lire un fichier bin
Désactivation des assertions
Nous pouvons également désactiver les assertions via la ligne de commande.
La syntaxe générale pour désactiver les assertions en Java est:
java –da arguments
OU
java –disableassertions arguments
De même pour désactiver les assertions dans les classes System, nous utilisons la syntaxe suivante:
java – dsa: arguments
OU
java –disablesystemassertions:arguments
Mot-clé «assert» en Java
Le langage Java fournit le mot-clé «assert» qui permet aux développeurs de vérifier les hypothèses qu'ils ont faites pour le programme ou l'état du programme.
Nous pouvons donc utiliser le mot clé «assert» pour fournir des assertions en Java afin de vérifier les conditions qui pourraient autrement empêcher le programme de fonctionner correctement.
Le mot-clé «assert» est utilisé à partir de Java 1.4 mais reste le mot-clé peu connu en Java. Lorsque nous utilisons le mot-clé assert en Java, nous devons le faire dans une instruction Assert.
Instruction Assert en Java
En Java, l'instruction assert commence par le mot-clé «asset» suivi d'une expression booléenne.
L'instruction assert en Java peut être écrite de deux manières:
- affirmer l'expression;
- assert expression1: expression2;
Dans les deux approches, les expressions utilisées avec le mot clé Assert sont les expressions booléennes.
Considérez la déclaration suivante comme un exemple.
assert value >= 10 : “greater than 10”;
Ici, l'instruction assert vérifie une condition et si la condition est vraie, un message est imprimé. Ainsi, nous pouvons également avoir des affirmations avec notre message.
Comment utiliser Assert en Java
Jusqu'à présent, nous avons discuté du mot-clé assert et de l'instruction assert en Java. Maintenant, considérons un exemple pour montrer comment utiliser assert en Java.
Pour ajouter des assertions, nous devons simplement ajouter une instruction assert comme suit:
public void setup_connetion () { Connection conn = getConnection (); assert conn != null; }
Nous pouvons également donner l'assertion ci-dessus différemment, comme indiqué ci-dessous:
public void setup_connection () { Connection conn = getConnection (); assert conn != null: “Connection is null”; }
Les deux constructions de code ci-dessus vérifient si la connexion renvoie une valeur non nulle. Si elle renvoie une valeur nulle, la JVM lèvera une erreur - AssertionError. Mais dans le second cas, un message est fourni dans l'instruction assert donc ce message sera utilisé pour construire AssertionError.
Dans le second cas avec les assertions activées, l'exception ressemblera à ceci:
Exception in thread 'main' java.lang.AssertionError: Connection is null at line numbers…
Exemple d'affirmation en Java
Implémentons un exemple d'utilisation d'assertions en Java.
public class Main { public static void main(String() args) { try { System.out.println('Testing Assertions...'); assert true : 'We don't see this.'; assert false : 'Visible if assertions are ON.'; } catch (AssertionError e) { e.printStackTrace(); } } }
Production
La sortie ci-dessus est donnée lorsque les assertions ne sont pas activées. Si l'assertion a été activée, le deuxième message (assert false) sera affiché.
Voyons maintenant un autre exemple . Notez qu'ici nous avons activé l'assertion en Java sur notre machine sur laquelle nous exécutons ce programme.
class Main { public static void main(String args()) { String() weekends = {'Friday', 'Saturday', 'Sunday'}; assert weekends.length == 2; System.out.println('We have ' + weekends.length + ' weekend days in a week'); } }
Production
Comme la durée du week-end ne correspond pas à la durée spécifiée dans l'instruction assert, l'exception ci-dessus est levée. Si l'assertion était désactivée, alors le programme aurait affiché le message spécifié au lieu d'assert exception.
Pourquoi les assertions sont-elles utilisées en Java?
Nous utilisons des assertions dans notre programme Java pour nous assurer que les hypothèses que nous avons faites dans notre programme sont correctes.
Par exemple, si nous voulons nous assurer que le code qui semble inaccessible est effectivement inaccessible. Ou nous voulons nous assurer que toute variable a une valeur dans une plage spécifiée.
Lorsque nous faisons une telle hypothèse, nous fournissons des affirmations pour nous assurer qu'elles sont effectivement correctes.
Questions fréquemment posées
Q # 1) Assert lève-t-il une exception Java?
logiciel de téléchargement de vidéos youtube pour pc
Répondre: Assert lance généralement «AssertionError» lorsque l'hypothèse faite est fausse. AssertionError s'étend de la classe Error (qui s'étend finalement de Throwable).
Q # 2) Que se passe-t-il lorsqu'une assertion échoue en Java?
Répondre: Si les assertions sont activées pour le programme dans lequel l'assertion échoue, alors il lancera AssertionError.
Q # 3) Que retourne une assertion en Java?
Répondre: Une instruction assert déclare une condition booléenne qui devrait se produire dans un programme. Si cette condition booléenne est évaluée à false, une AssertionError est donnée lors de l'exécution à condition que l'assertion soit activée.
Si l'hypothèse est correcte, la condition booléenne retournera true.
Q # 4) Pouvons-nous détecter l'erreur d'assertion?
Répondre: L'assertionError levée par l'instruction assert est une exception non vérifiée qui étend la classe Error. Ainsi, les assertions ne sont pas obligées de les déclarer explicitement et il n'est pas non plus nécessaire de les essayer ou de les attraper.
Q # 5) Comment revendiquez-vous une exception?
Réponse: Pour affirmer une exception, nous déclarons un objet ExpectedException comme suit:
public ExpectedException exception = ExpectedException. rien ();
Ensuite, nous utilisons les méthodes expect () et expect message () dans la méthode Test, pour affirmer l'exception et donner le message d'exception.
Conclusion
Avec cela, nous avons conclu ce tutoriel sur les assertions en Java. Nous avons discuté de la définition et du but des assertions en Java. Pour utiliser l'assertion dans le programme Java, nous devons d'abord leur permettre d'utiliser la ligne de commande.
Nous avons exploré les différentes manières d'activer les assertions au niveau du programme, du package, du répertoire, etc. Assert keyword et assert instructions en Java et leur syntaxe détaillée avec des exemples de programmation a été discutée. Le mot-clé assert et les déclarations d'actif nous aident à utiliser des assertions.
Nous avons vu qu'une AssertionError est donnée lorsqu'une assertion échoue. Les assertions en Java sont principalement utilisées au moment de la compilation et sont désactivées par défaut lors de l'exécution.
De plus, les assertions sont principalement utilisées dans le framework JUnit de Java dans lequel nous écrivons les cas de test pour tester les applications.
=> Lisez la série de formations Easy Java.
lecture recommandée
- Assertions dans Selenium à l'aide des cadres Junit et TestNG
- Exemples d'assertion de sélénium - Applications pratiques dans les projets
- Assertion dans SOAtest avec un exemple de code XML
- C ++ Assert (): gestion des assertions en C ++ avec des exemples
- Comprendre les assertions dans SoapUI - Tutoriel SoapUI # 5
- Tutoriel JAVA pour les débutants: plus de 100 tutoriels vidéo Java pratiques
- Jagged Array In Java - Tutoriel avec des exemples
- Types de données Java, boucles, tableaux, commutateurs et assertions