Die Daten (HTTP-Header) werden vom Makro `%mfs_httpheader` generiert, das sie in eine temporäre Datei (`header.txt`) innerhalb der `WORK`-Bibliothek schreibt. Das Skript liest dann diese Datei, um ihren Inhalt zu überprüfen. Es werden keine externen persistenten Datenquellen verwendet.
1 Codeblock
MACRO CALLS and DATA STEP Data
Erklärung : Dieser Block initialisiert den Speicherort der Header-Datei (`sasjs_stpsrv_header_loc`) zu einem temporären Pfad in der `WORK`-Bibliothek. Er verwendet `%mp_assertscope`, um einen Referenzpunkt zu markieren, bevor `%mfs_httpheader` aufgerufen wird, um den Header 'Content-Type: application/csv' zu schreiben. Ein `DATA _NULL_` wird dann verwendet, um die erste Zeile dieser Datei zu lesen und ihren Inhalt in der Makrovariable `test1` zu speichern. Schließlich überprüfen zwei Zusicherungen mit `%mp_assert`, ob die Ausführung fehlerfrei verlief (`&syscc=0`) und ob der geschriebene Header korrekt ist.
Kopiert!
%let orig_sasjs_stpsrv_header_loc=&sasjs_stpsrv_header_loc;
%let sasjs_stpsrv_header_loc=%sysfunc(pathname(work))/header.txt;
%mp_assertscope(SNAPSHOT)
%mfs_httpheader(Content-Type,application/csv)
%mp_assertscope(COMPARE,ignorelist=sasjs_stpsrv_header_loc)
data _null_;
infile "&sasjs_stpsrv_header_loc";
input;
if _n_=1 then call symputx('test1',_infile_);
run;
%mp_assert(
iftrue=(&syscc=0),
desc=Check code ran without errors,
outds=work.test_results
)
%mp_assert(
iftrue=("&test1"="Content-Type: application/csv"),
desc=Checking line was created,
outds=work.test_results
)
Erklärung : Dieser zweite Testblock wiederholt den Prozess, indem er `%mfs_httpheader` mit 'Content-Type: application/text' aufruft. Ein `DATA _NULL_` liest die zweite Zeile der Header-Datei und ihr Inhalt wird in `test2` gespeichert. Zwei Zusicherungen werden durchgeführt, um die Ausführung und den Inhalt des aktualisierten Headers zu validieren. Der Block endet mit der Zurücksetzung der Variable `sasjs_stpsrv_header_loc` auf ihren ursprünglichen Wert, um die Umgebung für zukünftige Ausführungen oder weitere Tests zu bereinigen.
Kopiert!
%mfs_httpheader(Content-Type,application/text)
%let test2=0;
data _null_;
infile "&sasjs_stpsrv_header_loc";
input;
if _n_=2 then call symputx('test2',_infile_);
run;
%mp_assert(
iftrue=(&syscc=0),
desc=Check code ran without errors for test2,
outds=work.test_results
)
%mp_assert(
iftrue=("&test2"="Content-Type: application/text"),
desc=Checking line was created,
outds=work.test_results
)
/* reset header so the test will pass */
%let sasjs_stpsrv_header_loc=&orig_sasjs_stpsrv_header_loc;
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. Diese Datei ist Teil von SASUnit, dem Unit-Test-Framework für SAS(R)-Programme. Informationen zu Copyright und Nutzungsbedingungen unter der GNU Lesser General Public License finden Sie in der beigefügten Datei README.md oder unter https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.
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.