Publié le :
Test SASHELP

Test de la macro _existVar.sas

Ce code est également disponible en : Deutsch English Español
Le script est un test unitaire implémenté avec le framework SASUnit. Il contient plusieurs cas de test pour évaluer le comportement de la macro `_existVar.sas©`. Les cas de test incluent :
1. Vérification de l'existence de la variable 'age' comme étant numérique dans le jeu de données 'sashelp.class'.
2. Vérification que la variable 'age' n'est pas de type caractère dans 'sashelp.class'.
3. Vérification de l'existence de la variable 'name' (sans spécification de type) dans 'sashelp.class'.
Chaque test utilise la macro `%assertEquals` de SASUnit pour comparer le résultat obtenu de `_existVar` avec une valeur attendue (1 pour vrai, 0 pour faux), garantissant ainsi la validité de la macro.
Analyse des données

Type : SASHELP


Le script utilise le jeu de données 'class' de la librairie SASHELP. SASHELP est une librairie SAS standard, fournie avec toute installation SAS, et ne nécessite donc pas de données externes ou de création de données spécifiques au script pour son exécution.

1 Bloc de code
MACRO CALL
Explication :
Initialise un nouveau scénario de test SASUnit. Cela définit le contexte global pour une série de tests liés, facilitant l'organisation et le reporting des résultats de test.
Copié !
1%initScenario (i_desc=Test of _existVar.sas);
2 Bloc de code
MACRO CALL
Explication :
Ce bloc définit un cas de test pour vérifier la présence d'une variable numérique nommée 'age' dans 'sashelp.class'. La macro `_existVar` est appelée avec 'N' pour spécifier un type numérique. Le résultat est stocké dans `&rc.` et est ensuite comparé à 1 (vrai) pour confirmer que la variable numérique 'age' existe bien.
Copié !
1%initTestcase(i_object=_existVar.sas, i_desc=Test for numeric variable age)
2%let rc=%_existVar (sashelp.class
3 ,age
4 ,N
5 );
6%endTestcall;
7 
8%assertEquals(i_expected=1, i_actual=&rc., i_desc=Numeric variable age exists)
9%endTestcase;
3 Bloc de code
MACRO CALL
Explication :
Ce cas de test vérifie que la variable 'age' n'est pas reconnue comme une variable de type caractère dans 'sashelp.class'. La macro `_existVar` est appelée avec 'C' pour le type caractère. Le résultat attendu est 0 (faux), confirmant que 'age' n'est pas une variable caractère, ce qui est correct étant donné qu'elle est numérique dans 'sashelp.class'.
Copié !
1%initTestcase(i_object=_existVar.sas, i_desc=Test for character variable age)
2%let rc=%_existVar (sashelp.class
3 ,age
4 ,C
5 );
6%endTestcall;
7 
8%assertEquals(i_expected=0, i_actual=&rc., i_desc=Character variable age does not exist)
9%endTestcase;
4 Bloc de code
MACRO CALL
Explication :
Ce bloc teste l'existence de la variable 'name' dans 'sashelp.class' sans spécifier de type. La macro `_existVar` est appelée sans le paramètre de type. Le résultat attendu est 1 (vrai), ce qui valide que la variable 'name' existe dans le jeu de données 'sashelp.class'.
Copié !
1%initTestcase(i_object=_existVar.sas, i_desc=Test for variable name)
2%let rc=%_existVar (sashelp.class
3 ,name
4 );
5%endTestcall;
6 
7%assertEquals(i_expected=1, i_actual=&rc., i_desc=Variable name does not exist)
8%endTestcase;
5 Bloc de code
MACRO CALL
Explication :
Marque la fin du scénario de test SASUnit. Cela signifie que tous les cas de test associés à ce scénario ont été exécutés et que les résultats peuvent être compilés.
Copié !
1%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/.