Les jeux de données `work.somedata1` et `work.somedata2` sont créés directement dans le script via un `DATA STEP` à des fins de test. Aucune donnée externe non gérée par le script n'est utilisée directement pour les tests.
1 Bloc de code
Macros Webout et Macro Définition
Explication : Ce bloc utilise `parmcards4` pour soumettre un ensemble de commandes qui configurent la sortie d'un service web. Les macros `%webout` gèrent la récupération (`FETCH`), l'ouverture (`OPEN`), la création d'objets (`OBJ`) et la fermeture (`CLOSE`) de la sortie web. Une macro interne `x` est définie pour itérer sur des tables SAS ou des fichiers d'entrée (`_webin_file_count`) et les inclure comme objets dans la sortie web, ce qui prépare la structure de données échangée par le service.
Explication : Ce bloc appelle la macro `%mx_createwebservice` pour créer ou déployer un service web nommé `sendObj` à l'emplacement défini par `&mcTestAppLoc/services`. Immédiatement après, la macro `%mp_assert` est utilisée pour vérifier que cette création s'est déroulée sans erreur (code de retour système `&syscc=0`), enregistrant le résultat dans `work.test_results`. Cela constitue une étape de configuration et de vérification essentielle du service.
Copié !
%mx_createwebservice(path=&mcTestAppLoc/services,name=sendObj)
%mp_assert(
iftrue=(&syscc=0),
desc=No errors after service creation,
outds=work.test_results
)
Explication : Ce `DATA STEP` crée deux jeux de données temporaires, `work.somedata1` et `work.somedata2`. Chacun contient une observation unique avec les variables `x` (numérique), `y` (chaîne de caractères avec des espaces et des guillemets échappés) et `z` (valeur numérique manquante). La variable `x` reçoit le label 'x factor'. Ces jeux de données sont conçus pour servir de données d'entrée pour le test du service web.
Explication : Ce bloc exécute la macro `%mx_testservice` pour tester le service web `sendObj`. Les jeux de données `work.somedata1` et `work.somedata2` sont passés comme entrées au service. Les options `debug=log` et `mdebug=1` activent un débogage détaillé dans le log SAS. Les résultats traités par le service sont stockés dans la bibliothèque `testlib1`.
Explication : Ce `DATA STEP` de type `_NULL_` est une étape de vérification. Il lit le jeu de données `testlib1.somedata1`, qui est le résultat du traitement du service web. La macro-variable `test1` est initialisée à `FAIL`. Si les valeurs des variables `x`, `y` et `z` correspondent aux attentes (avec `z="Z"` pour une valeur manquante), `test1` est mise à `PASS`. `putlog (_all_)(=)` affiche le contenu de l'observation dans le log pour faciliter l'audit.
Copié !
%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 Bloc de code
DATA STEP (vérification)
Explication : Similaire au bloc précédent, ce `DATA STEP` vérifie le contenu du jeu de données `testlib1.somedata2` après traitement par le service web. La macro-variable `test2` est mise à jour en `PASS` si les valeurs des variables `x`, `y` et `z` sont conformes aux attentes, confirmant ainsi que le service a correctement traité ce jeu de données.
Copié !
%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 Bloc de code
Macros mp_assert
Explication : Ces deux appels finaux à la macro `%mp_assert` sont utilisés pour valider les résultats globaux du test. Le premier vérifie si `test1` est `PASS`, confirmant le traitement correct de `somedata1`. Le second fait de même pour `test2` et `somedata2`. Les résultats de ces assertions sont enregistrés dans le jeu de données `work.test_results`, centralisant le rapport de test.
Copié !
%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
)
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.
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.