Das Skript liest keine Daten. Es interagiert mit dem Dateisystem, um Testverzeichnisse im WORK-Bibliothekspfad zu erstellen. Die Existenz dieser Verzeichnisse wird anschließend durch Testmakros überprüft.
1 Codeblock
Macro
Erklärung : Initialisiert ein Testszenario für _mkDir.sas. Dieser erste Testfall erstellt ein einfaches Verzeichnis namens 'folder' im WORK-Verzeichnis. Er ruft das Makro %_mkdir auf und überprüft anschließend mit %assertEquals und %_existDir, ob das Verzeichnis erfolgreich erstellt wurde.
Kopiert!
%initScenario (i_desc=Test of _mkDir.sas);
%initTestcase(i_object=_mkDir.sas, i_desc=Test with correct call)
%let newdir=%sysfunc(pathname(work))/folder;
%_mkdir(&newdir.);
%endTestcall;
%assertEquals(i_expected=1, i_actual=%_existDir(&newdir.), i_desc=check on file existence)
%endTestcase;
1
%initScenario (i_desc=Test of _mkDir.sas);
2
3
%initTestcase(i_object=_mkDir.sas, i_desc=Test with correct call)
4
%let newdir=%sysfunc(pathname(work))/folder;
5
%_mkdir(&newdir.);
6
%endTestcall;
7
8
%assertEquals(i_expected=1, i_actual=%_existDir(&newdir.), i_desc=check on file existence)
9
%endTestcase;
2 Codeblock
Macro
Erklärung : Dieser Testfall versucht, ein Unterverzeichnis ('subfolder') zu erstellen, ohne dass das übergeordnete Verzeichnis ('folder1') existiert. Es wird erwartet, dass der Vorgang fehlschlägt. Die Makros %assertLog und %assertLogMsg überprüfen, ob eine spezifische Fehlermeldung ins Log geschrieben wird. Schließlich bestätigt %assertEquals, dass das endgültige Verzeichnis nicht erstellt wurde.
Kopiert!
%initTestcase(i_object=_mkDir.sas, i_desc=Test with folder and subfolder to be created. No creation but message)
%let newdir=%sysfunc(pathname(work))/folder1/subfolder;
%_mkdir(&newdir.);
%endTestcall;
%assertLog(i_errors=1, i_warnings=0)
%assertLogMsg(i_logMsg=ERROR: _mkdir: Parentfolder .+folder1 does not exist)
%assertEquals(i_expected=0, i_actual=%_existDir(&newdir.), i_desc=check on file existence)
%endTestcase;
1
%initTestcase(i_object=_mkDir.sas, i_desc=Test with folder and subfolder to be created. No creation but message)
%assertLogMsg(i_logMsg=ERROR: _mkdir: Parentfolder .+folder1 does not exist)
8
%assertEquals(i_expected=0, i_actual=%_existDir(&newdir.), i_desc=check on file existence)
9
%endTestcase;
3 Codeblock
Macro
Erklärung : Dieser letzte Testfall demonstriert die rekursive Erstellung. Er verwendet die Option `makeCompletePath=1`, damit %_mkdir sowohl das übergeordnete Verzeichnis 'folder1' als auch das Unterverzeichnis 'subfolder' erstellt. Die Assertion %assertEquals überprüft, ob die vollständige Pfadstruktur erfolgreich erstellt wurde.
Kopiert!
%initTestcase(i_object=_mkDir.sas, i_desc=Test with folder and subfolder to be created.)
%let newdir=%sysfunc(pathname(work))/folder1/subfolder;
%_mkdir(&newdir., makeCompletePath=1);
%endTestcall;
%assertEquals(i_expected=1, i_actual=%_existDir(&newdir.), i_desc=check on file existence)
%endTestcase;
1
%initTestcase(i_object=_mkDir.sas, i_desc=Test with folder and subfolder to be created.)
%assertEquals(i_expected=1, i_actual=%_existDir(&newdir.), i_desc=check on file existence)
7
%endTestcase;
4 Codeblock
Macro
Erklärung : Beendet das SASUnit-Testszenario.
Kopiert!
%endScenario();
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
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.