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!
data test1;
do i=1 to 100;
output;
end;
run;
1
DATA test1;
2
DO i=1 to 100;
3
OUTPUT;
4
END;
5
RUN;
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!
%initTestcase(i_object=_nobs.sas, i_desc=standard case with 100 obs)
%LET g_nobs = %_nobs(test1);
%assertEquals(i_expected=100, i_actual=&g_nobs, i_desc=number of observations must be 100)
%assertLog()
%endTestcase()
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!
data test2;
stop;
run;
1
DATA test2;
2
stop;
3
RUN;
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!
%initTestcase(i_object=_nobs.sas, i_desc=dataset with 0 obs)
%LET g_nobs = %_nobs(test2);
%assertEquals(i_expected=0, i_actual=&g_nobs, i_desc=number of observations must be 0)
%assertLog()
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!
%initTestcase(i_object=_nobs.sas, i_desc=dataset not existing)
%LET g_nobs = %_nobs(test3);
%assertEquals(i_expected=0, i_actual=&g_nobs, i_desc=number of observations must be 0)
%assertLog()
%endTestcase;
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/.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.