Comment : désactiver et activer des tests
Mise à jour : novembre 2007
Vous pouvez désactiver un test pour le rendre temporairement indisponible lorsque vous exécutez un groupe de tests qui le contient. Vous pouvez le réactiver à tout moment. Pourquoi désactiver un test ? Vous devez tenir compte des possibilités suivantes :
Votre génération de produit contient un bogue qui provoque un blocage. Ce bogue se trouve dans le code que l'un de vos tests exerce. Ce test est l'un d'une série de tests qui s'exécutent dans l'ordre. À cause du blocage provoqué indirectement par ce test, votre série de tests ne peut pas aller au-delà de ce test dans la séquence. La solution consiste à classer un bogue sur le code qui se bloque et à désactiver le test jusqu'à ce que le problème soit corrigé. Ensuite, la séquence de tests peut progresser au-delà de ce test.
Un test spécifique d'une série de tests découvre un bogue, que vous classez. Pour ne pas observer le même échec à chaque fois que vous exécutez la sélection de test, désactivez le test.
Remarque : N'oubliez pas de réactiver un test lorsque son bogue associé est éliminé.
Si vous exécutez une liste de tests qui contient des tests désactivés, seuls les tests actifs de cette liste de tests (s'il y en a) seront exécutés. Si une liste de tests ne contient pas de tests actifs, la liste de tests elle-même est désactivée.
Utilisation de l'attribut Ignore avec des tests unitaires
Utilisation de l'attribut Ignore décrit comment marquer une méthode de test unitaire avec l'attribut IgnoreAttribute. L'utilisation de cet attribut modifie la disponibilité du test, mais elle diffère des manières suivantes de l'autre façon de désactiver et d'activer des tests :
Comme décrit dans Désactivation de tests et Activation de tests, vous pouvez utiliser l'Explorateur de tests pour désactiver et activer des tests de tout type. Mais l'attribut Ignore peut être appliqué uniquement à une méthode de test. Cela signifie que vous pouvez appliquer l'attribut Ignore uniquement à des tests unitaires.
L'indicateur d'activation et de désactivation des tests est stocké dans le fichier de métadonnées du test.
L'attribut Ignore d'un test unitaire réside dans le fichier source du test unitaire, avec les autres attributs et le code source du test. Cela signifie que, si vous désactivez un test unitaire dans l'Explorateur de tests et que vous exécutez ultérieurement le test à l'aide de l'utilitaire en ligne de commande MSTest.exe, le test s'exécute encore. Mais si vous marquez un test unitaire avec l'attribut Ignore, que vous compilez l'assembly, puis que vous exécutez le test à l'aide de MSTest.exe, le test ne s'exécute pas. Il ne s'exécute pas car l'attribut Ignore est devenu partie intégrante du test.
Ces deux approches sont utilisées dans des scénarios différents :
Attribut Ignore Vous êtes un développeur qui crée du code de production et du code de test. Vous êtes au milieu d'une phase de modifications importantes et vous savez que l'un de vos tests unitaires sera indisponible pendant quelque temps. Par conséquent, lorsque vous archivez le test, vous le marquez avec l'attribut Ignore pour indiquer que vous ne vous attendez pas à ce qu'il fonctionne.
Désactivation et activation. Vous travaillez dans un atelier de génération et vous n'avez pas accès au code source des tests que vous exécutez. Dans ce cas, vous pouvez utiliser uniquement les capacités d'activation et de désactivation de l'Explorateur de tests.
Désactivation de tests
Pour désactiver des tests
Pour désactiver un test, dans l'Explorateur de tests, cliquez avec le bouton droit sur un test actif, puis cliquez sur Désactiver. Pour désactiver plusieurs tests, sélectionnez les tests actifs que vous souhaitez désactiver, en appuyant sur CTRL ou MAJ lors du clic sur les lignes de tests. Ensuite, cliquez avec le bouton droit sur les lignes sélectionnées, puis cliquez sur Désactiver.
- ou -
Sélectionnez le test dans l'Explorateur de tests ou la fenêtre Affichage de tests et appuyez sur F4 pour afficher la fenêtre Propriétés. Ensuite, définissez la valeur de la propriété Test activé à False.
Activation de tests
Pour activer des tests
Pour activer un test, dans l'Explorateur de tests, cliquez avec le bouton droit sur un test désactivé, puis cliquez sur Activer. Pour activer plusieurs tests, sélectionnez les tests inactifs que vous souhaitez activer en appuyant sur CTRL ou MAJ lors du clic sur les lignes de tests. Ensuite, cliquez avec le bouton droit sur les lignes sélectionnées, puis cliquez sur Activer.
- ou -
Sélectionnez le test dans l'Explorateur de tests ou la fenêtre Affichage de tests et appuyez sur F4 pour afficher la fenêtre Propriétés. Ensuite, définissez la valeur de la propriété Test activé à True.
Utilisation de l'attribut Ignore
Pour utiliser l'attribut Ignore
Ouvrez le test unitaire pour modifier son code source. Pour ce faire, dans l'Explorateur de tests, double-cliquez sur le test unitaire.
Le fichier de code source qui contient le test unitaire s'ouvre.
Ajoutez l'attribut IgnoreAttribute au test unitaire.
Le test est désactivé. Dans la fenêtre Propriétés, la propriété Test activé a automatiquement la valeur False. Pour en savoir plus sur la portée de cette action, consultez la section précédente intitulée « Utilisation de l'attribut Ignore avec des tests unitaires ».
Pour réactiver le test, supprimez ou commentez l'attribut Ignore.
Voir aussi
Tâches
Comment : exécuter des tests sélectionnés