Veröffentlicht am :
Test SASHELP

Test des Makros _existVar.sas

Dieser Code ist auch verfügbar auf: Français English Español
Das Skript ist ein Unit-Test, der mit dem SASUnit-Framework implementiert wurde. Es enthält mehrere Testfälle, um das Verhalten des Makros `_existVar.sas©` zu bewerten. Die Testfälle umfassen:
1. Überprüfung der Existenz der Variable 'age' als numerisch im Datensatz 'sashelp.class'.
2. Überprüfung, dass die Variable 'age' nicht vom Typ Zeichen im Datensatz 'sashelp.class' ist.
3. Überprüfung der Existenz der Variable 'name' (ohne Typspezifikation) im Datensatz 'sashelp.class'.
Jeder Test verwendet das SASUnit-Makro `%assertEquals`, um das von `_existVar` erhaltene Ergebnis mit einem erwarteten Wert zu vergleichen (1 für wahr, 0 für falsch), wodurch die Gültigkeit des Makros sichergestellt wird.
Datenanalyse

Type : SASHELP


Das Skript verwendet den Datensatz 'class' aus der SASHELP-Bibliothek. SASHELP ist eine Standard-SAS-Bibliothek, die mit jeder SAS-Installation geliefert wird und daher keine externen Daten oder die Erstellung spezifischer Skriptdaten für ihre Ausführung erfordert.

1 Codeblock
MACRO CALL
Erklärung :
Initialisiert ein neues SASUnit-Testszenario. Dies definiert den globalen Kontext für eine Reihe verwandter Tests und erleichtert die Organisation und Berichterstattung der Testergebnisse.
Kopiert!
1%initScenario (i_desc=Test of _existVar.sas);
2 Codeblock
MACRO CALL
Erklärung :
Dieser Block definiert einen Testfall, um die Existenz einer numerischen Variable namens 'age' in 'sashelp.class' zu überprüfen. Das Makro `_existVar` wird mit 'N' aufgerufen, um einen numerischen Typ anzugeben. Das Ergebnis wird in `&rc.` gespeichert und dann mit 1 (wahr) verglichen, um zu bestätigen, dass die numerische Variable 'age' tatsächlich existiert.
Kopiert!
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 Codeblock
MACRO CALL
Erklärung :
Dieser Testfall überprüft, ob die Variable 'age' nicht als Zeichenvariable in 'sashelp.class' erkannt wird. Das Makro `_existVar` wird mit 'C' für den Zeichentyp aufgerufen. Das erwartete Ergebnis ist 0 (falsch), was bestätigt, dass 'age' keine Zeichenvariable ist, was korrekt ist, da sie in 'sashelp.class' numerisch ist.
Kopiert!
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 Codeblock
MACRO CALL
Erklärung :
Dieser Block testet die Existenz der Variable 'name' in 'sashelp.class', ohne einen Typ anzugeben. Das Makro `_existVar` wird ohne den Typparameter aufgerufen. Das erwartete Ergebnis ist 1 (wahr), was bestätigt, dass die Variable 'name' im Datensatz 'sashelp.class' existiert.
Kopiert!
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 Codeblock
MACRO CALL
Erklärung :
Markiert das Ende des SASUnit-Testszenarios. Dies bedeutet, dass alle mit diesem Szenario verbundenen Testfälle ausgeführt wurden und die Ergebnisse kompiliert werden können.
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/.