Los conjuntos de datos `work.somedata1` y `work.somedata2` se crean directamente en el script a través de un `DATA STEP` para fines de prueba. No se utilizan directamente datos externos no gestionados por el script para las pruebas.
1 Bloque de código
Macros Webout y Definición de Macro
Explicación : Este bloque utiliza `parmcards4` para enviar un conjunto de comandos que configuran la salida de un servicio web. Las macros `%webout` gestionan la recuperación (`FETCH`), la apertura (`OPEN`), la creación de objetos (`OBJ`) y el cierre (`CLOSE`) de la salida web. Se define una macro interna `x` para iterar sobre tablas SAS o archivos de entrada (`_webin_file_count`) e incluirlos como objetos en la salida web, lo que prepara la estructura de datos intercambiada por el servicio.
Explicación : Este bloque llama a la macro `%mx_createwebservice` para crear o desplegar un servicio web llamado `sendObj` en la ubicación definida por `&mcTestAppLoc/services`. Inmediatamente después, la macro `%mp_assert` se utiliza para verificar que esta creación se realizó sin errores (código de retorno del sistema `&syscc=0`), registrando el resultado en `work.test_results`. Esto constituye un paso esencial de configuración y verificación del servicio.
¡Copiado!
%mx_createwebservice(path=&mcTestAppLoc/services,name=sendObj)
%mp_assert(
iftrue=(&syscc=0),
desc=No errors after service creation,
outds=work.test_results
)
Explicación : Este `DATA STEP` crea dos conjuntos de datos temporales, `work.somedata1` y `work.somedata2`. Cada uno contiene una observación única con las variables `x` (numérica), `y` (cadena de caracteres con espacios y comillas escapadas) y `z` (valor numérico faltante). La variable `x` recibe la etiqueta 'x factor'. Estos conjuntos de datos están diseñados para servir como datos de entrada para la prueba del servicio web.
Explicación : Este bloque ejecuta la macro `%mx_testservice` para probar el servicio web `sendObj`. Los conjuntos de datos `work.somedata1` y `work.somedata2` se pasan como entradas al servicio. Las opciones `debug=log` y `mdebug=1` activan una depuración detallada en el log de SAS. Los resultados procesados por el servicio se almacenan en la biblioteca `testlib1`.
Explicación : Este `DATA STEP` de tipo `_NULL_` es un paso de verificación. Lee el conjunto de datos `testlib1.somedata1`, que es el resultado del procesamiento del servicio web. La macrovariable `test1` se inicializa como `FAIL`. Si los valores de las variables `x`, `y` y `z` coinciden con las expectativas (con `z="Z"` para un valor faltante), `test1` se establece en `PASS`. `putlog (_all_)(=)` muestra el contenido de la observación en el log para facilitar la auditoría.
¡Copiado!
%let test1=FAIL;
data _null_;
set testlib1.somedata1;
if x=1 and y=' t"w"o' and z="Z" then call symputx('test1','PASS');
putlog (_all_)(=);
run;
1
%let test1=FAIL;
2
DATA _null_;
3
SET testlib1.somedata1;
4
IF x=1 and y=' t"w"o' and z="Z"THEN call symputx('test1','PASS');
5
putlog (_all_)(=);
6
RUN;
6 Bloque de código
DATA STEP (verificación)
Explicación : Similar al bloque anterior, este `DATA STEP` verifica el contenido del conjunto de datos `testlib1.somedata2` después del procesamiento por el servicio web. La macrovariable `test2` se actualiza a `PASS` si los valores de las variables `x`, `y` y `z` son conformes a las expectativas, confirmando así que el servicio ha procesado correctamente este conjunto de datos.
¡Copiado!
%let test2=FAIL;
data _null_;
set testlib1.somedata2;
if x=1 and y=' t"w"o' and z="Z" then call symputx('test2','PASS');
putlog (_all_)(=);
run;
1
%let test2=FAIL;
2
DATA _null_;
3
SET testlib1.somedata2;
4
IF x=1 and y=' t"w"o' and z="Z"THEN call symputx('test2','PASS');
5
putlog (_all_)(=);
6
RUN;
7 Bloque de código
Macros mp_assert
Explicación : Estas dos llamadas finales a la macro `%mp_assert` se utilizan para validar los resultados globales de la prueba. La primera verifica si `test1` es `PASS`, confirmando el procesamiento correcto de `somedata1`. La segunda hace lo mismo para `test2` y `somedata2`. Los resultados de estas aserciones se registran en el conjunto de datos `work.test_results`, centralizando el informe de prueba.
¡Copiado!
%mp_assert(
iftrue=(&test1=PASS),
desc=somedata1 created correctly,
outds=work.test_results
)
%mp_assert(
iftrue=(&test2=PASS),
desc=somedata2 created correctly,
outds=work.test_results
)
1
%mp_assert(
2
iftrue=(&test1=PASS),
3
desc=somedata1 created correctly,
4
outds=work.test_results
5
)
6
%mp_assert(
7
iftrue=(&test2=PASS),
8
desc=somedata2 created correctly,
9
outds=work.test_results
10
)
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.