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

Date de publication : 28/01/2009 , Date de mise à jour : 28/01/2009

Par Pierre-Emmanuel Dautreppe (Page Perso de Pierre-Emmanuel Dautreppe) (Blog)
 

Nous allons présenter ici l'intégration continue dans le monde Microsoft.NET, c'est à dire avec Visual Studio.NET et le Team Foundation Server.
L'intégration continue s'articule autour de quatre outils:
  • MsTest pour écrire des tests automatisés
  • Static Code Analysis pour valider le code écrit selon un jeu de règles préféfinies.
  • MsBuild pour automatiser un certains nombre de tâches (compilation, déploiement, ...)
  • TFSBuild pour automatiser les tâches liées aux builds automatisés
Cette première partie nous permettra non seulement de faire une introduction à l'intégration continue (pourquoi la mettre en place, ce qu'elle apporte, quels outils allons-nous utiliser, ...) mais surtout de décrire de façon très détaillée les deux premiers outils utilisés : MsTest et Static Code Analysis
fr La seconde partie de cet article se concentrera sur les deux autres outils.
Page 1
1. Contexte
2. L'intégration continue - En quelques mots
2-1. Pourquoi mettre en place de l'intégration continue ?
2-1-1. J'ai déjà un serveur de source. N'est-ce pas suffisant ?
2-1-2. Je veux des sources cohérentes
2-2. Qu'est ce que l'intégration continue ?
2-2-1. Définition
2-2-2. Choix de l'intervalle
2-2-3. Politique de contrôle
2-3. Que sont les BVTs ?
Page 2
3. Présentation brève des outils de l'intégration continue
3-1. MsTest
3-2. Static Code Analysis
3-3. MsBuild
3-4. TFSBuild
Page 3
4. Tests unitaires : Ecrire des tests avec MsTest
4-1. Structure d'une classe de test
4-2. Vérifier la justesse d'un test
4-2-1. Vérifier la cohérence entre valeurs attendues et valeurs courantes
4-2-2. Vérifier qu'une exception a bien été lancée
4-2-3. Vérifier qu'une méthode s'exécute dans un temps raisonnable
4-3. Tester l'API non publique
4-3-1. Tester les membres internal
4-3-1-1. Présentation et utilisation
4-3-1-2. Utiliser l'attribut avec une DLL fortement signée
4-3-2. Tester les membres private et ou protected
4-3-2-1. Présentation
4-3-2-2. Création d'un accesseur via Visual Studio
4-3-2-3. Utilisation d'un accesseur
4-3-2-4. Création d'un accesseur dans le fichier de projet
Page 4
5. Tests unitaires : Exécuter des tests avec MsTest
5-1. Exécution via Visual Studio
5-2. Exécution en ligne de commande
5-2-1. Exécution d'une liste de test
5-2-2. Exécution de tous les tests d'une DLL
5-2-3. Exécution de certains tests d'une DLL
5-2-4. Configuration supplémentaire
Page 5
6. Tests unitaires : Configuration des tests
6-1. Définition du nom des « tests runs »
6-2. Définition de la couverture de code
6-2-1. Paramétrage
6-2-2. Visualisation des résultats
6-2-3. Quel pourcentage rechercher ?
6-3. Déployer des fichiers
6-3-1. Paramétrage
6-3-2. Où les fichiers sont-ils déployés ?
6-3-3. Précaution d'emploi avec les versions plus anciennes de Visual Studio
6-4. TimeOut
Page 6
7. Tests unitaires : Gestion des tests
7-1. Présentation de la « Test View »
7-2. Présentation de la « Test List Editor »
Page 7
8. Tests unitaires : Attributs additionnels
8-1. Attributs de comportement
8-1-1. Ignorer un (ou des) test(s)
8-1-2. Déployer des fichiers
8-2. Attributs informationnels
8-2-1. Identifier le créateur du test
8-2-2. Donner une priorité aux tests
8-2-3. Ajouter des propriétés aux tests
Page 8
9. Analyse Statique de Code : Présentation
9-1. Activer l'analyse statique de code
9-2. Lancer l'analyse statique de code
9-3. Explication du nommage des règles
9-4. Paramétrage des règles
9-4-1. Paramétrage via l'interface de Visual Studio
9-4-2. Paramétrage via fichier de projet
Page 9
10. Analyse Statique de Code : Corriger les erreurs
10-1. Corriger une erreur
10-2. Corriger plusieurs erreurs
10-3. Regrouper les suppressions dans un même fichier
10-3-1. Syntaxe du fichier de suppression global
10-3-2. Préciser des méthodes avec noms réservés en IL
10-3-3. Renommer le fichier de suppression global
11. Analyse Statique de Code : Limitations
Page 10
12. Conclusion
Remerciements
Contact
Page 11
A. Annexes - Bibliographie
A-1. Data-Driven Testing
A-2. DeploymentItemAttribute


Valid XHTML 1.0 TransitionalValid CSS!

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

Vos questions techniques : forum d'entraide Microsoft DotNET - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.