Veröffentlicht am :
Test CREATION_INTERNE

Test von _issueassertwarningmessage.sas

Dieser Code ist auch verfügbar auf: Français English
Dieses Skript verwendet das SASUnit-Test-Framework, um das Verhalten des Makros `_issueassertwarningmessage.sas©` zu validieren. Es definiert ein Testszenario (`%initScenario`), gefolgt von einem einzigen Testfall, der in einem Makro (`%macro testcase`) gekapselt ist. In diesem Testfall wird das Makro `_issueassertwarningmessage` mit einem spezifischen Zeichenstring ('Dies ist meine Warnmeldung!') aufgerufen. Anschließend überprüft der Test das SAS©-Log mittels `%assertLog`, um sicherzustellen, dass keine Fehler und nur eine Warnung generiert wurden. `%assertLogMsg` wird verwendet, um zu bestätigen, dass die Warnung die erwartete Nachricht enthält. Schließlich wird das Makro `testcase` aufgerufen, um den Test auszuführen, und das Szenario wird mit `%endScenario` beendet.
Datenanalyse

Type : CREATION_INTERNE


Das Skript manipuliert keine externen Daten oder solche, die direkt von `SASHELP` stammen. Es verwendet interne Daten (eine wörtliche Warnmeldung), um das Verhalten eines SASUnit-Makros zu testen. Das SASUnit-Framework selbst verwaltet die Konfiguration der Logs und der für die Testausführung erforderlichen Assertions.

1 Codeblock
SASUnit Initialisierung / Makrodefinition
Erklärung :
Dieser Block initialisiert ein SASUnit-Testszenario mit einer klaren Beschreibung. Anschließend wird ein Makro namens `testcase` definiert, das als Hülle für die Testlogik dient. Die Parameter `i_object` und `i_desc` dieses Makros werden verwendet, um das getestete Objekt und eine kontextbezogene Beschreibung des Testfalls anzugeben.
Kopiert!
1%initScenario (i_desc=Test of _issueassertwarningmessage.sas);
2%macro testcase(i_object=_issueassertwarningmessage.sas, i_desc=%str(Correct call of examinee));
3 
2 Codeblock
Makroaufruf / SASUnit Assertions
Erklärung :
Dieser Block, enthalten im Makro `testcase`, initialisiert den spezifischen Testfall. Er ruft das Makro `_issueassertwarningmessage` mit einer wörtlichen Warnmeldung in Deutsch auf. Nach der Ausführung dieses Makros führt der Test Assertions durch: `%assertLog` überprüft, ob keine Fehlermeldung im Log vorhanden ist und dass genau eine Warnung ausgegeben wurde. `%assertLogMsg` bestätigt dann, dass der spezifische Text der erwarteten Warnung im Log vorhanden ist.
Kopiert!
1 /*****************
2 documentation
3 ******************
4 setup [...]
5 call [...]
6 assert [...]
7 *****************/
8 
9 /* start testcase */
10 %initTestcase(i_object=&i_object., i_desc=&i_desc.);
11 
12 /* call */
13 %_issueassertwarningmessage(Dies ist meine Warnmeldung!);
14 
15 %endTestcall()
16 
17 /* assert */
18 %assertLog (i_errors=0, i_warnings=1);
19 %assertLogMsg (i_logMsg=^WARNING: Dies ist meine Warnmeldung!);
3 Codeblock
Makroende / Testausführung / Szenarioende
Erklärung :
Dieser Block markiert das Ende der Definition des Makros `testcase` und seines Testfalls (`%endTestcase`, `%mend testcase`). Unmittelbar danach wird das Makro `testcase` aufgerufen (`%testcase;`), um den Test auszuführen. Schließlich schließt `%endScenario()` das gesamte SASUnit-Testszenario ab.
Kopiert!
1 /* end testcase */
2 %endTestcase()
3%mend testcase; %testcase;
4 
5%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/.