Veröffentlicht am :
Test CREATION_INTERNE

Test des Makros _createScnLogConfigTemplate

Dieser Code ist auch verfügbar auf: Français English Español
Wartet auf Validierung
Dieses SAS©-Skript ist ein Unit-Test, der das SASUnit-Framework verwendet. Es initialisiert ein Testszenario und führt dann einen spezifischen Testfall aus. Der Testfall ruft das Makro `_createScnLogConfigTemplate` mit definierten Parametern auf, um eine Log-Konfigurations-Template-Datei in der Arbeitsbibliothek (WORK) zu erstellen. Anschließend werden Assertionen durchgeführt, um zu überprüfen, ob die Datei erstellt wurde (Existenz und Inhalt) und ob sie keine Fehler oder Warnungen im SAS©-Log enthält. Schließlich wird die erstellte Datei nach dem Test bereinigt.
Datenanalyse

Type : CREATION_INTERNE


Das Skript verbraucht keine unkontrollierten externen Daten. Es erstellt eine Log-Konfigurations-Template-Datei in der temporären Bibliothek 'WORK' und verwendet einen Referenzpfad (g_refdata), der eine SASUnit-Makrovariable ist, die auf vom Framework verwaltete Testdaten zeigen soll.

1 Codeblock
Macro SASUnit
Erklärung :
Initialisiert das globale Testszenario und definiert das Makro 'testcase', das die Logik des Unit-Tests kapselt. Der Parameter 'i_desc' liefert eine Beschreibung des Szenarios, die das Testziel identifiziert.
Kopiert!
1%initScenario (i_desc=Test of _createScnLogConfigTemplate.sas);
2%macro testcase(i_object=_createScnLogConfigTemplate.sas, i_desc=%str(Correct call));
3 
2 Codeblock
Macro _createScnLogConfigTemplate Data
Erklärung :
Dieser Block initialisiert den spezifischen Testfall und ruft das Makro `_createScnLogConfigTemplate` auf. Dieses Makro wird getestet, um sicherzustellen, dass es korrekt eine SASUnit-Log-Konfigurationsdatei generiert. Die Datei wird im SAS-Arbeitsordner (`WORK`) unter dem Namen `sasunit.scnlogconfig.xx.template.xml` erstellt. Die Pfade der Log-Ordner und die Sprache werden angegeben, wobei 'XX' ein Platzhalter für den Test ist.
Kopiert!
1 /* start testcase */
2 %initTestcase(i_object=&i_object., i_desc=&i_desc.);
3 
4 /* call */
5 %_createScnLogConfigTemplate(i_projectBinFolder =%sysfunc(pathname(WORK))
6 ,i_sasunitLogFolder =./logs
7 ,i_sasunitScnLogFolder =./scnLogs
8 ,i_sasunitLanguage =XX
9 );
10 
11 %endTestcall()
3 Codeblock
Macro SASUnit
Erklärung :
Dieser Block enthält die Assertionen, die den Testerfolg überprüfen. `%assertLog` stellt sicher, dass keine Warnungen oder Fehler im SAS-Log ausgegeben wurden. `%assertEquals` überprüft mit der Funktion `fileexist`, ob die Template-Datei korrekt erstellt wurde. `%assertText` vergleicht den Inhalt der generierten Datei mit einer Referenzdatei, die durch die Makrovariable `g_refdata` angegeben ist, um deren Konformität zu validieren.
Kopiert!
1 /* assert */
2 %assertLog(i_errors=0, i_warnings=0);
3 %assertEquals (i_actual =%sysfunc(fileexist(%sysfunc(pathname(WORK))/sasunit.scnlogconfig.xx.template.xml))
4 ,i_expected=1
5 ,i_desc =New scn log config template xml file must exist
6 );
7 
8 %assertText (i_expected = &g_refdata./sasunit.scnlogconfig.xx.template.xml
9 ,i_actual = %sysfunc(pathname(WORK))/sasunit.scnlogconfig.xx.template.xml
10 ,i_desc = Scn-Log config template created correctly
11 );
12
13 /* end testcase */
14 %endTestcase()
4 Codeblock
Fonction SYSCALL / Nettoyage
Erklärung :
Dieser Block verwaltet die Bereinigung nach dem Test. Er definiert einen Fileref `fdel`, der auf die erstellte Template-Datei zeigt, und verwendet dann `%sysfunc(fdelete(fdel))`, um diese Datei zu löschen. `filename fdel clear;` gibt den Fileref frei. Die letzten Zeilen (`%mend testcase; %testcase; %endScenario();`) markieren das Ende des Testmakros und des globalen SASUnit-Szenarios.
Kopiert!
1 filename fdel "%sysfunc(pathname(WORK))/sasunit.scnlogconfig.xx.template.xml";
2 %put %sysfunc(fdelete(fdel));
3 filename fdel clear;
4%mend testcase; %testcase;
5 
6%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. 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/.