Scala Assert

Scala Assert

Assert est couramment utilisé pour tester les fonctionnalités d'un programme. En tant qu'argument, la méthode d'affirmation doit prouver la condition qui suit. Cette méthode est incluse dans le package PreDEF Scala; Ainsi, aucun autre package n'est requis. Dans l'article, nous comprendrons le concept d'affirmation à Scala. La méthode d'affirmation a besoin d'une condition pour être satisfaite lors de l'exécution d'une action spécifique.

Qu'est-ce que l'affirmation à Scala?

La méthode d'affirmation de Scala est un moyen de vérifier dynamiquement l'invariant. La méthode Assert prend une expression booléenne en tant que paramètre et la vérifie tout au long du code donné. Si l'expression booléenne est vraie, l'affirmation de Scala s'exécutera normalement. Si faux, alors l'affirmation de Scala échouera avec une énergie d'assurance. Il existe une autre méthode définie par le trait d'assertion qui masque celle spécifiée par Predef Scala. C'est la même chose que l'assertionerror mais il lance un testfailedException sur condition fausse. L'affirmation de Scalatest donne une erreur de message précise que l'affirmation de Scala.

Comment taper la coulée dans Scala dans Ubuntu 20.04?

Scalatest fournit trois affirmations par défaut. Ce sont les éléments suivants:

Affirmer: affirmer peut être utilisé pour faire des affirmations générales.

Assertresult: Pour distinguer les nombres attendus et réels.

Intercepter: Pour vérifier qu'un morceau de code lance est une exception attendue.

Pour savoir comment ces méthodes fonctionneront dans un programme Scala, nous devrions avoir un exemple de pratique ci-dessous. Toutes les implémentations sont dans Scala SBT Build for Scalatest Assertion dans l'application IntelliJ Idea.

Exemple n ° 1: Programme de méthode d'affirmation à Scala

L'affirmation est utilisée pour faire des déclarations générales. Nous pouvons rédiger des affirmations dans n'importe quel programme Scala en appelant le mot-clé «affirmer». Ensuite, en passant l'expression booléenne dans la méthode d'affirmation de Scala. Ayons quelques méthodes d'affirmation pratiques dans le programme Scala.

Dans le programme Scala ci-dessus, nous avons des objets de classe représentés comme des «exemples». Dans la méthode principale de «l'exemple», nous avons défini les variables comme «Val». Les variables sont définies comme «longueur» et «largeur» qui sont initialisées avec différentes valeurs numériques. Nous avons utilisé le mot-clé «affirmer» pour la méthode d'assertion. Dans la méthode d'affirmation de Scala, nous avons une expression booléenne car la longueur est égale à la largeur. La méthode d'affirmation de Scala reviendra normalement si l'expression booléenne spécifiée est vraie. Si l'expression booléenne donnée est fausse, alors la méthode d'affirmation échouera avec une merde d'assertion.

Comme nous avons des valeurs de longueur et de largeur différentes, donc la condition est fausse. Nous avons une affirmation de l'énergie car assertion a échoué. L'exception est présentée dans l'image ci-dessous.

Exemple n ° 2: Programme de méthode AsserTresult à Scala

L'exemple ci-dessus est incapable de distinguer les valeurs réelles et attendues. Comme l'opérande «==» est simplement appelé. À cette fin, nous avons une méthode nommée Assert Result, qui peut être utilisée contre Assert Keywords. Après avoir utilisé ASSERTRESULT., Nous allons y passer la valeur attendue. Assertreult doit passer la valeur attendue, sinon des exceptions se produiront.

Dans le code aérien, nous avons importé le «org.scalatest.Package des Matchés de «Org. Scalatest ”. Ce package est essentiellement pour Assertion Scalatest. Ensuite, nous avons une classe d'objets comme «ASSERT1». Dans la méthode principale d'Assert1, nous avons défini deux variables. La variable est de stocker les valeurs numériques qui sont définies comme «x» et «y». Nous allons imprimer les valeurs de «x» et «y» via l'instruction imprimée. Après cela, nous avons la méthode ASSERTRESULT qui a une valeur attendue de 4 comme mentionné dans le code. Dans la méthode ASSERTRESULT, nous effectuons l'opération de soustraction sur les variables «x» et «y». Si nous obtenons la valeur de «X-Y» comme valeur attendue, alors l'instruction IMPREST affichera la valeur de retour de «X-Y», sinon nous aurons un testfailedException.

Du «X-Y», nous avons une valeur de retour «1» mais «4» est la valeur attendue. Ainsi, la sortie a une description TestFaileDException comme ci-dessous.

Dans l'exemple ASSERTRESULT ci-dessus, nous avons une exception se produise dans le code car la valeur «X-Y» renvoyée est différente de la valeur attendue. Maintenant, nous savons que la valeur attendue résulte de X-Y est égale à 1. Nous avons passé la valeur «1» dans la méthode AsserTresult pour voir ce qu'elle reviendra. Si la valeur attendue est renvoyée, seule l'instruction PRINT imprimera le résultat «X-Y».

Comme nous avons un retour de valeur attendu en tant que sortie, donc le code s'exécutera normalement.

Exemple n ° 3: Programme d'asserverthrows et de méthode d'interception dans Scala

Lorsqu'une fonction est appelée avec une entrée non valide, nous devrons peut-être vérifier si une fonction lance une exception prévisible sur une condition satisfaisante. Nous ne pouvons pas le faire dans Scalatest qui fournit deux méthodes: les AssertThrows et la méthode d'interception.

Dans le code aérien, nous avons indiqué une classe d'objets comme «ASSERT1». Dans la méthode principale de la classe d'objets, nous avons défini une variable comme «Val». La variable est définie comme «A» et initialisée avec la chaîne Scala. Ensuite, nous avons appelé la méthode AssertThrows dans laquelle nous avons la méthode Charat. Nous avons passé le numéro d'index pour une chaîne Scala de variable AN AS -2. Les AssertThrows reviendront avec succès. Lors de l'exécution, nous n'avons pas d'exception et la sortie est imprimée dans l'image ci-dessous.

Le programme est le même que celle ci-dessous en utilisant la méthode d'interception.

La fonction d'interception est similaire aux AssertThrows, mais au lieu de revenir vrai, il renvoie l'exception capturée, que vous pouvez analyser davantage si vous le souhaitez. Dans le code ci-dessus, nous vérifions si les données à l'intérieur de l'exception ont les valeurs attendues. Comme nous avons donné la valeur attendue, donc l'exécution de ce code est normale comme dans l'exemple de code ci-dessus des AssertThrows.

Conclusion

Le guide vise à vous donner une compréhension claire et concise de l'affirmation de Scala et de l'affirmation Scalatest. L'affirmation Scalatest est nécessaire pour valider l'exécution du programme. Nous avons démontré les trois par défaut Affirmation de Scalatest ainsi que l'exemple donné et montrons également les exceptions sur le temps de compilation. Ces illustrations vous aideront beaucoup à faire face à une affirmation Scalatest.