Publié le :
Test CREATION_INTERNE

Test de _issueassertwarningmessage.sas

Ce code est également disponible en : Deutsch English
Ce script utilise le framework de test SASUnit pour valider le comportement de la macro `_issueassertwarningmessage.sas©`. Il définit un scénario de test (`%initScenario`), puis un cas de test unique encapsulé dans une macro (`%macro testcase`). Dans ce cas de test, la macro `_issueassertwarningmessage` est appelée avec une chaîne de caractères spécifique ('Dies ist meine Warnmeldung!'). Ensuite, le test vérifie le log SAS© en utilisant `%assertLog` pour s'assurer qu'aucune erreur n'est présente et qu'un seul avertissement a été généré. `%assertLogMsg` est utilisé pour confirmer que l'avertissement contient le message attendu. Enfin, la macro `testcase` est appelée pour exécuter le test, et le scénario est terminé par `%endScenario`.
Analyse des données

Type : CREATION_INTERNE


Le script ne manipule pas de données externes ou provenant de `SASHELP` directement. Il utilise des données internes (un message d'avertissement littéral) pour tester le comportement d'une macro SASUnit. Le framework SASUnit lui-même gère la configuration des logs et des assertions nécessaires à l'exécution du test.

1 Bloc de code
Initialisation SASUnit / Définition de macro
Explication :
Ce bloc initialise un scénario de test SASUnit avec une description claire. Il définit ensuite une macro nommée `testcase` qui servira d'enveloppe pour la logique du test. Les paramètres `i_object` et `i_desc` de cette macro sont utilisés pour spécifier l'objet testé et une description contextuelle du cas de test.
Copié !
1%initScenario (i_desc=Test of _issueassertwarningmessage.sas);
2%macro testcase(i_object=_issueassertwarningmessage.sas, i_desc=%str(Correct call of examinee));
3 
2 Bloc de code
Appel de macro / Assertions SASUnit
Explication :
Ce bloc, contenu dans la macro `testcase`, initialise le cas de test spécifique. Il appelle la macro `_issueassertwarningmessage` avec un message d'avertissement littéral en allemand. Après l'exécution de cette macro, le test procède à des assertions : `%assertLog` vérifie qu'aucun message d'erreur n'est présent dans le log et qu'exactement un avertissement a été émis. `%assertLogMsg` confirme ensuite que le texte spécifique de l'avertissement attendu est bien présent dans le log.
Copié !
1 /*****************
2 documentation
3 ******************
4 setup [...]
5 call [...]
6 assert [...]
7 *****************/
8 
9 /* start testcase */
10 %initTestcase(i_object=&i_object., i_desc=&i_desc.);
11 
12 /* call */
13 %_issueassertwarningmessage(Dies ist meine Warnmeldung!);
14 
15 %endTestcall()
16 
17 /* assert */
18 %assertLog (i_errors=0, i_warnings=1);
19 %assertLogMsg (i_logMsg=^WARNING: Dies ist meine Warnmeldung!);
3 Bloc de code
Fin de macro / Exécution de test / Fin de scénario
Explication :
Ce bloc marque la fin de la définition de la macro `testcase` et de son cas de test (`%endTestcase`, `%mend testcase`). Immédiatement après, la macro `testcase` est invoquée (`%testcase;`) pour exécuter le test. Enfin, `%endScenario()` clôture l'intégralité du scénario de test SASUnit.
Copié !
1 /* end testcase */
2 %endTestcase()
3%mend testcase; %testcase;
4 
5%endScenario();
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de. This file is part of SASUnit, the Unit testing framework for SAS(R) programs. For copyright information and terms of usage under the GNU Lesser General Public License see included file README.md or https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.