Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les métadonnées DeploymentItem identifient les dépendances de fichiers et de dossiers pour les fichiers et dossiers utilisés par les tests pendant l’exécution des tests afin que Taef puisse les identifier et les copier correctement (par exemple, dans un scénario d’exécution inter-ordinateurs, Taef déploie les fichiers identifiés par la propriété DeploymentItem sur l’ordinateur de test spécifié).
L’implémentation de Taef DeploymentItem est très similaire à celle trouvée dans la classe DeploymentItemAttribute dans VSTS.
Les métadonnées DeploymentItem peuvent être appliquées au niveau assembly, classe ou test. Les éléments spécifiés par les métadonnées DeploymentItem seront déployés au moment où le programme d’installation de l’assembly, de la classe de test ou du test sera exécuté. Si les métadonnées DeploymentItem spécifient une dépendance (par exemple, un fichier) et que cette dépendance existe déjà à la destination, TAEF effectue une comparaison CRC et copie uniquement le fichier s’il a changé. Si les métadonnées DeploymentItem spécifient une dépendance et que la dépendance est introuvable, une erreur est enregistrée qui échouera le test (ou tous les tests de classe de test ou d’assembly, en conséquence). TAEF déploie uniquement des fichiers une seule fois par assembly, classe ou test, c’est-à-dire que le déploiement ne se produit pas à chaque exécution d'assembly, de classe ou de test si ceux-ci sont pilotés par des données.
Syntaxe
[DeploymentItem("FileOrFolderToDeploy", "DestinationFolder")]
où FileOrFolderToDeployest un fichier ou un chemin d’accès de dossier par rapport au répertoire où se trouve la dll de test. Si FileOrFolderToDeploy est un dossier, tout son contenu est copié ; toutefois, le dossier lui-même n’est pas créé. S’il existe une hiérarchie de dossiers sous FileOrFolderToDeploy, Taef copie tous ces répertoires de manière récursive, conservant leur hiérarchie de répertoires.
DestinationFolder est un chemin d’accès de dossier relatif au répertoire où se trouve la dll de test et où les éléments de déploiement sont copiés. Le chemin d’accès DestinationFolder peut être spécifié à l’aide de .. notation (par exemple, ..\MyFiles).
Pour effectuer un déploiement dans le dossier où se trouve votre dll de test, vous pouvez omettre DestinationFolder.
[DeploymentItem("FileOrFolderToDeploy")]
Plusieurs parties de la propriété sont prises en charge. Par exemple:
[TestClass]
[DeploymentItem("file1.xml")]
[DeploymentItem("file2.xml")]
[DeploymentItem("file3.xml")]
public class UnitTest1
{
...
}
Exemples
[DeploymentItem("file1.xml")]
Les balises file1.xml situées à côté de la dll de test en tant que dépendance. Ces métadonnées peuvent être interprétées comme étant que le système déploie un élément nommé file1.xml situé dans le dossier en regard de la dll de test dans le répertoire de dll de test. Cette configuration est utile uniquement pour le scénario entre ordinateurs.
[DeploymentItem("file2.xml", "DataFiles")]
Déploie un élément nommé file2.xml situé à côté de la dll de test dans le sous-répertoire DataFiles créé dans le répertoire dll de test.
[DeploymentItem("C:\\\\MyDataFiles\\\\MyDataFiles2\\\\")]
Déploie tous les éléments et répertoires trouvés dans le répertoire C :\\MyDataFiles\\MyDataFiles2\\. Cette configuration ne crée pas le répertoire MyDataFiles\MyDataFiles2 sous le répertoire de déploiement. Tous les fichiers et répertoires dans MyDataFiles seront déployés pour tester le répertoire dll. Pour copier l’ensemble de la structure de répertoires MyDataFiles\MyDataFiles2, vous devez spécifier MyDataFiles\MyDataFiles2 comme répertoire de sortie.
[DeploymentItem("%myDir%\\myFile.txt")]
Déploie le fichier myFile.txt si ce fichier existe dans le répertoire dans lequel %myDir% se résout. Si TAEF ne parvient pas à résoudre la variable d’environnement, elle génère une erreur.
Tests managés
L’attribut DeploymentItem (aka DeploymentItemAttribute) peut être appliqué à une méthode de test (décorée par l’attribut [TestMethod], à la classe de test (décorée par l’attribut [TestClass] ) ou à un assembly de test. Toutefois, étant donné que VSTS ne prend pas en charge cette propriété au niveau de l’assembly, pour appliquer cette propriété au niveau de l’assembly, vous devez l’appliquer à la configuration de l’assembly (décorée par l’attribut AssemblyInitialize) :
[AssemblyInitialize]
[DeploymentItem("file1.xml")]
[DeploymentItem("file2.xml")]
[DeploymentItem("file3.xml")]
public static AssemblySetup(TestContext testContext)
{
...
}
Tests natifs
Pour les tests natifs, le format de propriété est similaire au format de code managé. Toutefois, étant donné que les propriétés natives n’ont qu’une seule valeur, le chemin d’accès de l’élément et la destination facultative sont spécifiés dans la valeur de la propriété, séparés par un caractère «> » :
BEGIN_TEST_CLASS(TestClassExample)
TEST_CLASS_PROPERTY(L"DeploymentItem", L"C:\\Dependencies\\>Dependencies")
END_TEST_CLASS()
Tests de Script
Pour les tests de script, le format de propriété est le même que pour les tests natifs :
<method name="TestOne">
<TestMethodProperty name="DeploymentItem" value="C:\\Dependencies\\>Dependencies"/>
</method>