Veröffentlicht am :
Test CREATION_INTERNE

Test der Makro _checkRunEnvironment.sas

Dieser Code ist auch verfügbar auf: Français English Español
Dieses SAS©-Skript wurde entwickelt, um das Makro `_checkRunEnvironment.sas©` der SASUnit-Bibliothek zu testen. Es initialisiert ein Testszenario und einen einzelnen Testfall mit dem Titel 'Successful call'. Vor dem Aufruf des zu testenden Makros speichert das Skript den aktuellen Status der Systemoptionen MPRINT und MLOGIC und aktiviert diese dann, um eine detaillierte Debugging-Ausgabe der Makroausführung zu ermöglichen. Nach dem Aufruf von `_checkRunEnvironment.sas©` werden die Optionen MPRINT und MLOGIC in ihren ursprünglichen Zustand zurückversetzt. Das Skript verwendet dann die Assertions-Makros `%assertEquals`, um zu überprüfen, ob das getestete Makro einen Erfolgswert (0) zurückgibt, und `%assertLogMsg`, um zu bestätigen, dass bestimmte Meldungen in Bezug auf Betriebssysteme (Windows, Linux) oder SAS©-Versionen (9.4) nicht im Log vorhanden sind. Dies weist darauf hin, dass die Testumgebung korrekt identifiziert wurde oder diese spezifischen Bedingungen nicht erfüllt sind. Das Szenario und der Testfall werden anschließend abgeschlossen.
Datenanalyse

Type : CREATION_INTERNE


Das Skript manipuliert keine persistenten externen Daten. Es interagiert mit der SAS-Umgebung über Systemoptionen (`MPRINT`, `MLOGIC`) und Makrovariablen (`g_cre_result`, `l_mprint`, `l_mlogic`), die während der Testausführung dynamisch erstellt und verwaltet werden. Das Hauptziel ist nicht die Datentransformation, sondern die Validierung des Verhaltens eines Systemmakros.

1 Codeblock
Initialisierung des Testszenarios
Erklärung :
Dieser Block initialisiert das Testszenario mit einer klaren Beschreibung seines Ziels. Er deklariert auch die globale Makrovariable `g_cre_result` und initialisiert sie mit -1. Diese Variable wird verwendet, um den Rückgabecode des getesteten Makros `_checkRunEnvironment.sas` zu erfassen.
Kopiert!
1%initScenario(i_desc=Test of _checkRunEnvironment.sas);
2 
3%global g_cre_result;
4%let g_cre_result=-1;
2 Codeblock
Ausführung und Validierung des Testfalls
Erklärung :
Dieser Block definiert einen Testfall für einen erfolgreichen Aufruf von `_checkRunEnvironment.sas`. Zuerst werden die aktuellen Zustände der Systemoptionen `MPRINT` und `MLOGIC` gespeichert und dann für die Diagnose aktiviert. Das Makro `_checkRunEnvironment` wird anschließend aufgerufen, und sein Ergebnis wird in `g_cre_result` gespeichert. Die Optionen `MPRINT` und `MLOGIC` werden in ihren ursprünglichen Zustand zurückversetzt. Schließlich werden Assertions verwendet: `%assertEquals` überprüft, ob das Ergebnis des Makros 0 ist (was den Erfolg anzeigt), und `%assertLogMsg` bestätigt die Abwesenheit spezifischer Meldungen im Log, um sicherzustellen, dass die Umgebung korrekt bewertet wird.
Kopiert!
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 Codeblock
Abschluss des Testszenarios
Erklärung :
Dieser Block markiert das formale Ende des Testszenarios, schließt alle laufenden Testoperationen ab und konsolidiert die Ergebnisse.
Kopiert!
1%endScenario();
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : 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/.