[VS2012] Exécuter chacun de ses tests unitaires dans un AppDomain différent, c’est maintenant possible avec Visual Studio Test Extensions !

Aujourd’hui je viens de publier sur CodePlex mon projet Visual Studio Test Extensions qui contient des fonctionnalités complémentaires au moteur MSBuild afin de simplifier au maximum les tests automatiques, et bien évidemment en particulier, les tests unitaires !

Ce projet à pour 2 objectifs :

  • Proposer une infrastructure très légère permettant de faciliter la mise en place technique de certains tests unitaires (par exemple les tests unitaires avec les bases de données).
  • Proposer des méthodes utilitaires permettant de contrôler très facilement les résultats des tests (équivalent des classes Assert de Microsoft).

Continuer la lecture

[TFS2012] Comment bien gérer l’incrémentation des versions de ses applications de manière automatique avec TFS 2012.

Tous les informaticiens le savent, la gestion des numéros de version est ce qu’il y a de plus cruciale durant la vie d’une application. On incrémente régulièrement les numéros de version afin d’indiquer les changements effectués sur la nouvelle application.

Lorsque l’on développe en équipe, les sources de l’application sont le plus souvent archivées dans un gestionnaire de sources à travers différentes versions (au fil des modifications apportées au développement de l’application). Ces versions sont le plus souvent identifiées dans le gestionnaire de sources via des labels qui sont plus ou moins créés et gérés automatiquement. D’expérience la gestion des labels dans un gestionnaire de sources est souvent folklorique…  Les labels doivent être posés et nommés correctement… Quand il y en a trop, on ne s’y retrouve plus… Lorsque l’on oublie de poser un label, c’est la panique car il est impossible de trouver la version de son application !

Pour pallier à ce problème, on essaye d’automatiser l’incrémentation des versions et la pose des labels. Cet article a pour but de vous montrer les différentes stratégies de changement version automatique que j’ai pu rencontrer durant mes différentes interventions et pour chacune leurs inconvénients. Dans la deuxième partie de l’article, je vous présenterai ma stratégie de gestion de versions que je propose à mes différents clients, qui est très simple à mettre en oeuvre si l’on s’appuie sur un logiciel comme TFS.

Continuer la lecture

[.NET] Comment réaliser des tests unitaires sur une couche d’accès aux données qui utilise une base de données ?

Lorsque l’on développe sa couche d’accès aux données (à la main, via Entity Framework ou tout autre ORM) il est nécessaire comme tout code de le tester ! Beaucoup de développeurs ne testent pas leur couche d’accès aux données car ils considèrent que « cela ne se fait pas ». Or, pour moi, tout code qui est pondu par un développeur doit être testé sans exception ! Un code non testé est un code dont le développeur ne peut garantir son fonctionnement…

Cet article a pour vocation de vous montrer différentes stratégies qui existent et qui sont utilisés (que j’ai déjà rencontré à travers différentes missions) avec leurs inconvénients. A la fin de cet article, j’expliquerai une stratégie simple que j’applique systématiquement depuis 8 ans pour tester les couches d’accès aux données via des tests unitaires.

Continuer la lecture