IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Intégration Continue avec Visual Studio et Team Foundation Server - Partie I, Présentation de MsTest et de Static Code Analysis


précédentsommairesuivant

VIII. Tests unitaires : Attributs additionnels

VIII-A. Attributs de comportement

VIII-A-1. Ignorer un (ou des) test(s)

Il est possible d'ignorer certains tests en utilisant l'attribut IgnoreAttribute. Il peut être placé sur une méthode ou sur une classe.

Si on le place sur une méthode, alors ce test ne sera pas exécuté.

Si on le place sur une classe, alors ce sont tous les tests de cette classe qui seront ignorés.

Utilisation de l'attribut « IgnoreAttribute »
Sélectionnez
[TestClass]
[Ignore]
public class MaClasseDeTestAIgnorer
{  }

[TestClass]
public class AutreClasseDeTest
{  
   [Ignore]
   public void MonTestAIgnorer()   {   }
}

Attention, il est également possible de désactiver un test. Pour cela il faut :
- visualiser le test dans la « Test View » ou dans le « Test List Editor » ; - clic droit sur le test et « Propriétés » ;
- indiquer « false » dans « Test Enabled ».
Un test ignoré n'apparaitra pas dans les listes de tests, alors qu'un test désactivé apparaitra grisé.

VIII-A-2. Déployer des fichiers

Nous avons vu que l'on pouvait déployer des fichiers en utilisant les fichiers de configuration des tests. Il est également possible de le faire par attribut. Ceci a deux avantages :

  • ne déployer les fichiers que lors de l'exécution du test qui en a besoin (et non avant que le premier test ne soit exécuté) ;
  • permettre de spécifier à quel endroit nous voulons déployer les fichiers (le répertoire de déploiement sera un sous-répertoire du répertoire de sortie standard)
Utilisation de l'attribut « DeploymentItemAttribute »
Sélectionnez
[TestMethod]
[DeploymentItem("Fichier.txt")]
public void MonTest()   {   }

[TestMethod]
[DeploymentItem("Fichier.txt", "RépertoireSortie")]
public void MonAutreTest()   {   }

Attention, vous ne pouvez utiliser dans cet attribut que des strings (« Ceci est une string » ) ou des verbatim string ( @« Ceci est une verbatim string »).
Vous ne pouvez en effet pas utiliser de constantes. Les tests étant exécutés par réflexion, les constantes que vous aurez utilisées ne seront pas encore initialisées lors de « l'exécution » de l'attribut.

Pour plus d'informations sur cet attribut, vous trouverez tous les renseignements nécessaires dans la bibliographie : « DeploymentItemAttribute. »

VIII-B. Attributs informationnels

Certains autres attributs existent également. Ils ne seront pas utilisés pas Visual Studio, mais peuvent permettre d'ajouter des informations supplémentaires, informations qui pourront être exploitées par le développeur ou via code.

VIII-B-1. Identifier le créateur du test

On peut utiliser l'attribut OwnerAttribute pour identifier le créateur du test.

Utilisation de l'attribut « OwnerAttribute »
Sélectionnez
[TestMethod]
[Owner("Pierre-Emmanuel Dautreppe")]
public void MonTest()   {   }

VIII-B-2. Donner une priorité aux tests

On peut utiliser l'attribut PriorityAttribute pour définir la priorité d'exécution du test. Notez cependant que cet attribut n'est pas utilisé par le moteur de test et n'est présent qu'à des fins d'extension par le développeur.

Pour permettre d'établir une notion d'ordre d'exécution, Visual Studio a introduit les OrderedTests. Ils ne seront cependant pas couverts dans ce document.

Utilisation de l'attribut « PriorityAttribute »
Sélectionnez
[TestMethod]
[Priority(10)]
public void MonTest()   {   }

VIII-B-3. Ajouter des propriétés aux tests

On peut utiliser l'attribut TestPropertyAttribute pour ajouter une propriété spécifique à un test. Cette propriété n'est pas utilisée par le moteur de test, mais permet (après un rebuild) de voir une nouvelle propriété dans l'onglet « Properties » après avoir sélectionné le test dans le « Test Manager » ou dans le « Test View ».

Cette propriété pourra être récupérée dans le test en utilisant la réflexion, comme pour n'importe quel attribut.

Utilisation de l'attribut « TestPropertyAttribute »
Sélectionnez
[TestMethod]
[TestProperty("MonNomDePropriete", "MaValeur")]
public void MyTest()   {   }

précédentsommairesuivant

Copyright © 2009 Pierre-Emmanuel Dautreppe . Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.