Veröffentlicht am :
Makro CREATION_INTERNE

Test des Makroprogramms _mkDir

Dieser Code ist auch verfügbar auf: Français English Español
Attention : Dieser Code erfordert Administratorrechte.
Das Skript validiert die Funktionalität des Makroprogramms _mkDir.sas© unter Verwendung des SASUnit-Testframeworks. Es enthält drei separate Testfälle: Der erste testet die einfache Erstellung eines Verzeichnisses, der zweite überprüft die Fehlerbehandlung, wenn ein übergeordneter Pfad nicht existiert, und der dritte testet die rekursive Erstellung einer Verzeichnisstruktur mit der Option `makeCompletePath=1`. Die Assertions überprüfen die Existenz der Verzeichnisse und das Vorhandensein der erwarteten Fehlermeldungen im SAS©-Log.
Datenanalyse

Type : CREATION_INTERNE


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!
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!
1%initTestcase(i_object=_mkDir.sas, i_desc=Test with folder and subfolder to be created. No creation but message)
2%let newdir=%sysfunc(pathname(work))/folder1/subfolder;
3%_mkdir(&newdir.);
4%endTestcall;
5 
6%assertLog(i_errors=1, i_warnings=0)
7%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!
1%initTestcase(i_object=_mkDir.sas, i_desc=Test with folder and subfolder to be created.)
2%let newdir=%sysfunc(pathname(work))/folder1/subfolder;
3%_mkdir(&newdir., makeCompletePath=1);
4%endTestcall;
5 
6%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!
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