J'ai commencé à écrire des services Web dans Delphi 2010 et suis un test unitaire pour m'assurer qu'ils fonctionnent comme prévu. Mes tests unitaires du code ont réussi, mais une méthode de service Web n'a pas renvoyé de valeur lorsqu'elle a été appelée en tant que service (c'est-à-dire via SoapUI). Après plusieurs heures de recherche dans le code, j'ai découvert que c'était parce que les propriétés de mon objet de retour ne se trouvaient pas dans la section publiée de l'interface; ils étaient dans la section publique.Comment puis-je vérifier la visibilité d'une propriété d'interface?
Y at-il un moyen pour mes tests unitaires de vérifier la visibilité variable sur les objets afin que je puisse éviter ce problème à l'avenir? J'essayais de trouver un moyen avec RTTI mais je n'ai rien trouvé.
Dans D2010 +, les éléments non publiés sont désormais exposés dans le nouveau système RTTI amélioré (Rtti.pas). L'ancien RTTI (TypInfo.pas) ne traite toujours que les articles publiés, oui (BTW, il existe une fonction IsPublishedProp() disponible). –
Merci Remy, j'avais oublié la fonction d'aide IsPublishedProp. Répondre à des questions techniques de base RTL purement de la mémoire devient un peu difficile après 5+ ans dans le grenier. ;> – dthorpe
Merci de m'avoir indiqué vers RTTI amélioré. Cela a bien fonctionné. –