Veröffentlicht am :
Test CREATION_INTERNE

Test der Makro _nobs.sas

Dieser Code ist auch verfügbar auf: Français English Español
Wartet auf Validierung
Dieses Skript verwendet das SASUnit-Framework, um das Makro '_nobs.sas©' zu testen. Es überprüft seine Funktionalität zum Zählen von Beobachtungen in einem bestehenden Datensatz mit Beobachtungen (test1), einem leeren Datensatz (test2) und einem nicht existierenden Datensatz (test3). Die Assertions werden verwendet, um zu bestätigen, dass das Makro in jedem Fall die erwartete Anzahl von Beobachtungen zurückgibt.
Datenanalyse

Type : CREATION_INTERNE


Die Datensätze 'test1' und 'test2' werden intern im Skript erstellt, um verschiedene Testszenarien zu simulieren. Der Datensatz 'test3' existiert absichtlich nicht, um einen Grenzfall zu testen.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP-Block erstellt einen temporären Datensatz namens 'test1', der 100 Beobachtungen enthält. Er dient als Referenzdaten für einen Standard-Beobachtungszählungstest.
Kopiert!
1DATA test1;
2 DO i=1 to 100;
3 OUTPUT;
4 END;
5RUN;
2 Codeblock
Macro SASUnit
Erklärung :
Dieser Block führt einen SASUnit-Testfall aus. Er ruft das Makro '%_nobs' für den Datensatz 'test1' auf und verwendet '%assertEquals', um zu überprüfen, ob die zurückgegebene Beobachtungsanzahl 100 beträgt, wie erwartet. '%assertLog()' überprüft, ob keine unerwarteten Fehler im SAS-Log vorhanden sind.
Kopiert!
1%initTestcase(i_object=_nobs.sas, i_desc=standard case with 100 obs)
2%LET g_nobs = %_nobs(test1);
3%assertEquals(i_expected=100, i_actual=&g_nobs, i_desc=number of observations must be 100)
4%assertLog()
5%endTestcase()
3 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP-Block erstellt einen temporären Datensatz namens 'test2', der absichtlich leer ist (0 Beobachtungen). Er wird verwendet, um das Verhalten des Makros '_nobs' mit einem Datensatz zu testen, der keine Beobachtungen enthält.
Kopiert!
1DATA test2;
2 stop;
3RUN;
4 Codeblock
Macro SASUnit
Erklärung :
Dieser Testblock überprüft das Makro '%_nobs' mit dem leeren Datensatz 'test2'. Es wird erwartet, dass das Makro 0 Beobachtungen zurückgibt, was durch '%assertEquals' validiert wird.
Kopiert!
1%initTestcase(i_object=_nobs.sas, i_desc=dataset with 0 obs)
2%LET g_nobs = %_nobs(test2);
3%assertEquals(i_expected=0, i_actual=&g_nobs, i_desc=number of observations must be 0)
4%assertLog()
5 Codeblock
Macro SASUnit
Erklärung :
Dieser Testblock bewertet das Verhalten des Makros '%_nobs', wenn es mit einem nicht existierenden Datensatz ('test3') aufgerufen wird. Die Assertion '%assertEquals' überprüft, ob das Makro diesen Fall durch die Rückgabe von 0 Beobachtungen behandelt.
Kopiert!
1%initTestcase(i_object=_nobs.sas, i_desc=dataset not existing)
2%LET g_nobs = %_nobs(test3);
3%assertEquals(i_expected=0, i_actual=&g_nobs, i_desc=number of observations must be 0)
4%assertLog()
5%endTestcase;
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/.