Sélection des talons à publier

Vous pouvez utiliser diverses options pour sélectionner les talons à publier.

Spécification d'un filtre de stub

Pour contrôler quels stubs sont publiés, utilisez le stubFilter option. Par défaut, tous les stubs du projet sont publiés. Les filtres de stub peuvent être utilisés pour identifier le ou les stub que vous souhaitez publier. Il existe deux manières d'identifier les talons. La première consiste à spécifier les noms des composants, des opérations et des dossiers dans lesquels réside le stub ou à spécifier le nom du stub. La seconde consiste à utiliser l’identifiant unique du ou des stub.

Utiliser des noms

Pour spécifier les informations sur la ligne de commande, vous spécifiez des balises de type XML avec un nom approprié. Par exemple, pour publier tous les stubs sous un composant appelé Test Component, le filtre tronqué suivant est suffisant:

 --stubFilter "<C>Test Component</C>"

Ici, l'étiquette <C> désigne un filtrage par nom de composant. Dans ce contexte, un composant fait référence à tout nœud de niveau supérieur qui agit comme un conteneur pour les stubs. Les exemples sont un composant de service, un serveur de base de données,WebSphère® Composant Application Server, composant WSDL.

Vous pouvez spécifier les balises suivantes:

 <C> or <c> - for Component path <O> or <o> - for Operation name <F> or <f> - for Folder path <S> or <s> - for Stub name

Toutes les balises sont facultatives et peuvent être définies dans n’importe quel ordre. Si une valeur de balise n’est pas fournie, elle accepte par défaut n’importe quelle valeur pour ce composant, cette opération ou ce filtre de dossier. Le filtre suivant publie tous les stubs appartenant à une opération appelée Send Message quels que soient les composants et la structure de dossiers auxquels ils appartiennent:

 --stubFilter "<O>Send Message</O>"

Le filtre suivant publie un stub nommé StubA qui est disponible dans le cadre d'une opération Op1 et composant de service SC1 :

 -stubFilter "<C>SC1</C><O>Op1</O><S>stubA</S>"

Si plusieurs instances de la même balise sont incluses dans le filtre, seule la dernière balise est utilisée. Pour publier sur plusieurs composants, opérations ou dossiers, vous définissez plusieurs filtres sur la commande en séparant chacun d'eux par un point-virgule (;). Par exemple, le filtre suivant publie tous les stubs sous le composant Component 1 qui appartiennent à Buy opération et publie également tous les talons sous le Big Database composant inclus dans le dossier myFolder:

 --stubFilter "<C>Component 1</C><O>Buy</O>;<C>Big Database</C><F>/myFolder</F>"

Il n'y a aucune limite au nombre de filtres que vous pouvez spécifier de cette manière.

Étant donné que les composants et les dossiers peuvent être imbriqués, les balises de composant et de dossier spécifient une hiérarchie de composants ou de dossiers en les séparant par une barre oblique (/). Une barre oblique précédente et finale n'est pas obligatoire bien qu'elle soit prise en charge. Par exemple, pour publier uniquement StubC dans la hiérarchie de projet suivante, le filtre suivant suffit:


Usine de tests.
 --stubFilter "<C>CompA/CompC</C><O>OpB</O><F>FolderA/FolderB</F>"

Au lieu de spécifier la valeur d'une balise, vous pouvez utiliser le caractère générique, un astérisque (*). Ce filtre accepte n'importe quelle valeur pour un nœud représenté par cette balise. Par exemple, pour publier tous les stubs sous le Send Message fonctionnement dans n’importe quel composant, le filtre suivant est suffisant:

 --stubFilter "<C>*</C><O>Send Message</O>"

Un caractère générique est la valeur par défaut lorsqu'il n'est pas spécifié dans le cadre du filtre. Si un filtre de stub contient du contenu non valide, tel que des balises mal fermées ou des données qui ne correspondent pas à l'une des balises prises en charge, la publication du stub échoue et vous êtes informé que la définition de votre filtre contient des données non valides.

Note:
Cette syntaxe contient des caractères spéciaux donc, dans le contexte des tâches Ant, ils doivent être échappés ou chargés à partir d'un fichier à l'aide de la balise de fichier de propriétés:
 <property file="stub_publish.properties"/>

Utiliser des identifiants

Si l'identifiant du stub est connu, le filtre stub peut simplement préciser l'identifiant, par exemple :
 --stubFilter -7d2c40d7:154befaa75f:-7d17
Note:
Vous pouvez trouver l'identifiant en ouvrant le stub et en regardant le ID interne champ dans le Stub Documentation languette.

Spécification des versions de publication

Plusieurs options sont disponibles pour spécifier la version sur laquelle publier les stubs. Premièrement, si aucune valeur majeure ou mineure n'est spécifiée, la dernière valeur sur le serveur est utilisée, écrasant ainsi la publication la plus récente. S'il s'agit de la première publication, la publication échoue et il vous est demandé de spécifier une version concrète. Par exemple, pour spécifier une valeur de version spécifique à publier, saisissez la valeur sur la ligne de commande:
--majorVersion 3 --minorVersion 1
Une valeur particulière de ++ peut être attribué comme valeur de version, ce qui incrémente la dernière version de publication du serveur de 1. Par exemple, si la dernière version du projet sur le serveur est 3.1, les paramètres suivants sont publiés à la version 3.2:
--minorVersion ++

Mode de mise à jour

Le updateMode L’option peut être spécifiée pour contrôler davantage quels talons sont publiés. Cette commande peut prendre deux valeurs :
tous
La valeur par défaut. Tous les talons correspondant à stubFilter sont publiés.
dernier
Avant de publier sur le serveur, la commande interroge le serveur pour obtenir des informations sur la dernière version du projet précédemment publiée. Une fois que les talons ont été mis en correspondance par le stubFilter, ce mode de mise à jour publie uniquement les stubs présents dans la version la plus récente. Cette méthode limite effectivement la commande afin qu'aucun nouveau stub ne soit publié selon la dernière version du serveur.
Par exemple, supposons qu'un serveur dispose de l'historique de publication suivant pour un projet contenant trois stubs: StubA, StubB, et StubC.
VersionTalons publiés
1 StubA, StubB, et StubC
2 StubA et StubB
En spécifiant un updateMode valeur de last, la commande est limitée à la publication uniquement StubA et StubB car ce sont les seuls talons présents dans la version publiée la plus récente sur le serveur. Si un filtre de stub a été spécifié et correspond à tous les stubs, StubC ne peut pas être publié en raison du updateMode.

Le fichier d'options

Le fichier d'options peut être utilisé pour transmettre des options simples et complexes aux interfaces de commande. Cette méthode est disponible pour toute interface prenant en charge le optionsFile option.

Table 1. Exemple de fichier d'options
<?xml version="1.0" encoding="UTF-8"?> <publishStubs> <serverUrl>https://localhost:5443/RTCP</serverUrl> <project>C:\PublishDemo\PublishDemo.ghp</project> <domain>dev</domain> <environment>env</environment> <updateMode>all</updateMode> <majorVersion increment="true" /> <securityToken>ABCDEFG</securityToken> <stubFilter> <component name="component"> <operation name="operation"> <folder name="folder1"> <folder name="folder2"/> </folder> </operation> <operation name="operation2"/> <component name="nestedComponent"> <component name="nestedComponent2"> <folder name="folder3"/> <folder name="folder4"/> <stub name="stubX"/> </component> </component> </component> </stubFilter> <stubFilter> <component name="otherComponent"/> <component name="otherOtherComponent"/> <identifier value="-8dsde0d7:144bfcea75f:-4e12"/> </stubFilter> </publishStubs>
où:
publierStubs
L'élément contenant. Son nom doit correspondre à la commande pour laquelle il est utilisé.
Pour spécifier une option de commandepublish-stubs dans le fichier, vous ajoutez un élément XML sous le publishStubs root avec un nom correspondant au nom de l'option sur la ligne de commande. Si un élément n'est pas présent dans le fichier pour une option non obligatoire, la valeur par défaut de cette option est utilisée. Si vous ne spécifiez pas d'option obligatoire dans le fichier, vous devez la remplacer sur la ligne de commande, sinon l'opération de publication échoue.

Spécification des versions de publication

Plutôt que de spécifier une valeur de version concrète à utiliser pour la publication, vous pouvez définir l'attribut 'increment' sur true ou false pour la publication. majorVersion et minorVersion éléments. Ce paramètre permet à la commande d'obtenir la dernière valeur de version du projet sur le serveur pour le domaine et l'environnement donnés. Si l'incrément est défini sur true, la dernière valeur de version sur le serveur est incrémentée de un et utilisée comme valeur de version pour la publication en cours.

Spécification d'un filtre de stub

Vous spécifiez un filtre de stub pour sélectionner les stubs publiés par la commande. Si aucun filtre n'est spécifié, tous les stubs trouvés dans le projet sont publiés par défaut.

Dans le fichier d'options, vous spécifiez un filtre de stub en ajoutant des éléments XML de composant, d'opération, de dossier, de stub ou d'identifiant en tant qu'éléments enfants de l'élément stubFilter. Les éléments composant, opération, dossier et stub doivent inclure un name L'attribut et la hiérarchie de ces éléments doivent correspondre au chemin d'accès à un ou plusieurs stubs à publier dans la perspective Test Factory au sein de IBM® DevOps Test Integrations and APIs (Test Integrations and APIs).

Par exemple, étant donné la hiérarchie suivante:


Usine de tests.

l'entrée stubFilter suivante dans le fichier d'options peut être utilisée pour publier uniquement StubC.

<stubFilter> <component name="CompA"> <component name="CompC"> <operation name="OpB"> <folder name="FolderA"> <folder name="FolderB"/> </folder> </operation> </component> </component> </stubFilter>

l'entrée stubFilter suivante dans le fichier d'options peut être utilisée pour publier uniquement StubB.

<stubFilter> <component name="CompA"> <component name="CompC"> <operation name="OpB"> <folder name="FolderA"> <stub name="StubB"/> </folder> </operation> </component> </component> </stubFilter>

Alternativement, plutôt que d'utiliser une hiérarchie, si l'identifiant de StubA est -7d2c40d7:154befaa75f:-7d17 alors le stubFilter suivant peut être utilisé pour publier uniquement StubA.

<stubFilter> <identifier value="-7d2c40d7:154befaa75f:-7d17"/> </stubFilter>
Note:
Le identifier L'élément doit être un enfant direct de l'élément stubFilter. Il doit préciser un value attribut.