Publié le :
Test CREATION_INTERNE

Test de la macro _checkRunEnvironment.sas

Ce code est également disponible en : Deutsch English Español
Ce script SAS© est conçu pour tester la macro `_checkRunEnvironment.sas©` de la bibliothèque SASUnit. Il initialise un scénario de test et un cas de test unique intitulé 'Successful call'. Avant d'appeler la macro à tester, le script sauvegarde l'état actuel des options système MPRINT et MLOGIC, puis les active pour permettre un débogage détaillé de l'exécution de la macro. Après l'appel de `_checkRunEnvironment.sas©`, les options MPRINT et MLOGIC sont restaurées à leur état initial. Le script utilise ensuite les macros d'assertion `%assertEquals` pour vérifier que la macro testée retourne une valeur de succès (0) et `%assertLogMsg` pour confirmer que certains messages liés à des systèmes d'exploitation (Windows, Linux) ou des versions SAS© (9.4) ne sont pas présents dans le log, ce qui indique que l'environnement de test est correctement identifié ou que ces conditions spécifiques ne sont pas remplies. Le scénario et le cas de test sont ensuite clôturés.
Analyse des données

Type : CREATION_INTERNE


Le script ne manipule pas de données externes persistantes. Il interagit avec l'environnement SAS via des options système (`MPRINT`, `MLOGIC`) et des variables macro (`g_cre_result`, `l_mprint`, `l_mlogic`) créées et gérées dynamiquement pendant l'exécution du test. Le but principal n'est pas la transformation de données mais la validation du comportement d'une macro système.

1 Bloc de code
Initialisation du scénario de test
Explication :
Ce bloc initialise le scénario de test avec une description claire de son objectif. Il déclare également la variable macro globale `g_cre_result` et l'initialise à -1. Cette variable servira à capturer le code de retour de la macro `_checkRunEnvironment.sas` testée.
Copié !
1%initScenario(i_desc=Test of _checkRunEnvironment.sas);
2 
3%global g_cre_result;
4%let g_cre_result=-1;
2 Bloc de code
Exécution et validation du cas de test
Explication :
Ce bloc définit un cas de test pour un appel réussi de `_checkRunEnvironment.sas`. Il sauvegarde d'abord les états actuels des options système `MPRINT` et `MLOGIC`, puis les active pour le diagnostic. La macro `_checkRunEnvironment` est ensuite appelée, et son résultat est stocké dans `g_cre_result`. Les options `MPRINT` et `MLOGIC` sont restaurées à leur état initial. Enfin, des assertions sont utilisées : `%assertEquals` vérifie que le résultat de la macro est 0 (indiquant le succès), et `%assertLogMsg` confirme l'absence de messages spécifiques dans le log, garantissant que l'environnement est correctement évalué.
Copié !
1%initTestcase(i_object = _checkRunEnvironment.sas, i_desc = Successful call)
2 
3%let l_mprint = %sysfunc(getoption(MPRINT));
4%let l_mlogic = %sysfunc(getoption(MLOGIC));
5 
6options mprint mlogic;
7 
8%let g_cre_result=%_checkRunEnvironment;
9 
10options &l_mprint. &l_mlogic.;
11 
12%endTestcall();
13 
14%assertEquals(i_actual =&g_cre_result.
15 ,i_expected =0
16 ,i_desc =OS and SAS Version are valid
17 );
18%assertLogMsg (i_logmsg=NE WIN);
19%assertLogMsg (i_logmsg=NE LINUX);
20%assertLogMsg (i_logmsg=NE 9.4);
21 
22%endTestcase();
3 Bloc de code
Finalisation du scénario de test
Explication :
Ce bloc marque la fin formelle du scénario de test, clôturant toutes les opérations de test en cours et consolidant les résultats.
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/.