Le script ne lit aucune donnée. Il interagit avec le système de fichiers pour créer des répertoires de test dans le chemin de la librairie WORK. L'existence de ces répertoires est ensuite vérifiée par des macros de test.
1 Bloc de code
Macro
Explication : Initialise un scénario de test pour _mkDir.sas. Ce premier cas de test crée un répertoire simple nommé 'folder' dans la librairie WORK. Il appelle la macro %_mkdir et vérifie ensuite avec %assertEquals et %_existDir que le répertoire a bien été créé.
Copié !
%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 Bloc de code
Macro
Explication : Ce cas de test tente de créer un sous-répertoire ('subfolder') sans que le répertoire parent ('folder1') n'existe. Il est attendu que l'opération échoue. Les macros %assertLog et %assertLogMsg vérifient qu'une erreur spécifique est bien écrite dans le journal. Enfin, %assertEquals confirme que le répertoire final n'a pas été créé.
Copié !
%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 Bloc de code
Macro
Explication : Ce dernier cas de test démontre la création récursive. Il utilise l'option `makeCompletePath=1` pour que %_mkdir crée à la fois le répertoire parent 'folder1' et le sous-répertoire 'subfolder'. L'assertion %assertEquals vérifie que la structure complète du chemin a bien été créée avec succès.
Copié !
%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 Bloc de code
Macro
Explication : Termine le scénario de test SASUnit.
Copié !
%endScenario();
1
%endScenario();
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.