Mettre en place du code coverage avec Visual Studio 2010

by Louis-Guillaume Morand 8. juin 2010 09:02

Lors d'un bon cycle ALM, il est important de s'intéresser à la couverture de code pour voir si notre stratégie de tests est bien configurée et si l'on se protège d'éventuels bugs qui auraient pu être détéctés au plus tôt.

C'est donc cette optique que certains de mes projets persos ont été inclus au sein de mon serveur TFS pour passer en intégration continue. Si tout se passait merveillement bien sur le serveur TFS (compilation, testing, coverage), il n'en n'était pas la même chose en local sur mon poste de développement. En effet, l'onglet Code Coverage m'indiquait un magnifique "Cannot find any coverage data (.coverage or .coveragexml) files."

la première raison fut que je n'avais pas configuré le code coverage pour mon projet. Pour cela, quelques étapes sont nécessaires:

1- Double-cliquez sur le fichier Local.testsettings situé au niveau de votre solution. (ou créez-le s'il est manquant)

2- Dans la partie gauche, cliquez "Data and diagnostics"

3- Cochez la case "Code Coverage"

4- Cliquez une fois sur la ligne Code Coverage afin d'activer le bouton "Configure" situé au dessus de la liste

5- Cliquez alors sur le bouton "Configure" afin d'ouvrir la liste des assemblies à tester

6- Cochez les assemblies de votre choix. Fermer tout en sauvegardant votre projet

7- Lancez les tests unitaires via le menu Test > Run > Tests in Current Context

8- Les résultats apparaissent alors dans la fenêtre Test > Windows > Code Coverage Results

 

SAUF QUE, parfois cela ne suffit pas et le message indiquant qu'aucun fichier de coverage n'est présent est toujours affiché. Et c'est là le problème car Visual Studio n'est alors d'aucune aide pour trouver l'origine du problème. L'indice se trouve en effet dans le journal des événements. Au sein de ce dernier, plusieurs erreurs liées à Visual dont une avec un message intriguant "The web.config file for the site http://localhost:0/ contains information from a previous run" et une seconde indiquant que l'accès au fichier web.config est refusé. Pour ce dernier, rien de plus simple, il suffit d'enlever le mode read-only du fichier mais pour le second, il faut enquêter.

Il semblerait que lors de l'ajout du projet à TFS, certains attributs soient ajoutés au fichier de configuration et que ceux-ci dérangent Visual Studio. Solution simple: les retirer.

il s'agit des lignes suivantes:

<appSettings>
   
<add key="microsoft.visualstudio.teamsystems.aspnetdevserver:/" value="3311;True;3204;1" />
   
<add key="microsoft.visualstudio.teamsystems.backupinfo" value="1;web.config.backup" />
</appSettings>

 

Supprimez-les donc, sauvegardez et relancez les tests unitaires

 

Et voilà, le code coverage est pleinement fonctionnel!!!

 

 

Tags: , , , ,

.Net | Visual Studio

Le challenge Azure est terminé!

by Louis-Guillaume Morand 1. janvier 2010 09:38

Je vous en parlais il y a tout juste un mois, le challenge Azure que j'ai mis en place sur Developpez.com avec l'aide de Jérôme Lambert et Philippe Vialiatte, vient de se terminer.

 

Autant dire que cela fut un franc succès puis qu'alors que nous espérions à peine une centaine d'inscrits, ce ne fut pas moins de 700 personnes qui tentèrent l'aventure et sur ces 700 personnes, pratiquement 60 réussirent les 5 étapes. Si l'on veut être précis, sur les 700 inscrits, seuls 210 firent la première étape qui ne consistait qu'à uploader un fichier, soit 500 inscrits qui étaient venus en touristes. Donc au final, c'est quasiment 30% des inscrits qui finirent le challenge. Un concours avec 30% de gagnants, vous en connaissez beaucoup? :)

 

Comment cela se passe-t-il maintenant? Et bien, les gagnants vont chacun recevoir un t-shirt détecteur de Wifi

mais puisque celui-ci devrait mettre plusieurs semaines à arriver, chaque gagnant recevra également une Arc Mouse, la nouvelle souris supra design de Microsoft d'une valeur de 50€.

Au final, c'est environ 70€ de lot offert à chaque gagnant, ce qui, avec nos moyens qui sont environs de....zéro euros, n'est pas mal du tout je trouve :)

 

 

 

 

C'est donc fini pour ce PREMIER challenge car bien entendu, nous comptons bien réitérer l'opération car la plupart des personnes semble vraiment avoir apprécié ce petit défi technique tout en apprenant de nouvelles choses.

Tags:

.Net

Challenge Windows Azure sur Developpez

by Louis-Guillaume Morand 1. décembre 2009 14:06

Cette dernière semaine (ouais car on adore faire ça à l'arrache), avec Thomas Lucchini (Microsoft), Pierre Couzy l'évangéliste (Microsoft), Jérome Lambert (Developpez) et Philippe Vialiatte (Developpez), nous avons pondu un petit portail à base de technos toutes fraiches (entity fx 4.0, ASP .Net MVC 2, etc) qui a pour but de gérer un challenge et pas n'importe quel challenge, le challenge Azure!!!

 

Qu'est-ce donc que cette bête?

C'est simple, au fil de 5 épreuves, vous allez prendre en main l'environnement Azure mais également l'environnement de développement Azure (Visual Studio), pour déployer différentes application Web sur Azure. Rien de bien compliqué et pourtant très instructif.

 

Le plus beau dans l'histoire c'est qu'il y a des cadeaux à gagner et notamment des t-shirts détecteurs de Wifi offerts généreusement par Microsoft. et ouais, on est pas des geeks pour rien :)

Courrez vite participer au challenge, les cadeaux sont en nombre limités!

 

Tags:

.Net | Microsoft

The workflow failed validation.

by Louis-Guillaume Morand 2. novembre 2009 22:16

Quelle ne fut pas ma surprise lorsqu'effectuant des tests sur une application ayant toujours fonctionné, mon application (ASP.Net + Workflow Foundation) me sortit ce doux message d'erreur : The workflow failed validation

en creusant un peu plus en DEBUG, je trouvais alors l'origine profonde du problème: Error 1342: Activity 'IfIsACF' validation failed: Can not find the condition "IsACF".

Facile me dis-je, l'activité IfIsACF, est une activité de type IfElse qui utilise une propriété conditionnelle nommée IsACF et il ne la trouve pas. Il me suffit d'ouvrir mon workflow en mode designer pour voir où est passée ma condition... Et là, c'est le drame. Mon activité est bien là et ma condition aussi. Je la supprime, je la remets, même problème. L'application compile mais à l'exécution ca plante.

 

Pour revenir au contexte, tandis que chez moi, je migre doucement mes projets 2008 (dont mon site perso) vers Visual 2010, au boulot, je migre les derniers projets sous 2005 vers VS2008. Et visiblement, le problème viendrait de là. En effet, strictement rien n'a changé dans mon projet si ce n'est qu'il est utilisé par VS2008. D'où vient le problème dans ce cas? Et bien, il semblerait que cela soit tout simplement une question de nommage de fichier. En effet, la classe de mon workflow se nomme DemandHabilitation et le fichier DemandeHabilitation. Cette simple différence entraine le fait qu'à l'exécution, le fichier de rules (DemandeHabilitation.rules) n'est pas trouvé lors de l'exécution, bien qu'en ressource incorporée.

Donc pour conclure, aussi con que cela puisse paraitre, ce problème ne se produit que pour certaines activités et est un bug connu mais l'origine du problème est facilement corrigeable puisqu'il s'agit dans 99% du temps d'un simple problème de nom de fichier et de classe.

 

Tags: ,

.Net | WF

Ouverture de Dotnet-France

by Louis-Guillaume Morand 7. décembre 2008 12:55

C’est aujourd’hui, lundi 8 décembre 2008 que Dotnet-France fait son lancement officiel. Je pense que je pourrais en parler longuement mais là n’est pas l’intérêt car je préfère que vous vous fassiez votre propre idée par vous-même

logo

Qu’est-ce que Dotnet-France?

Une communauté orientée autour des technologies Microsoft mais surtout les certifications.

 

Une communauté de plus. Pourquoi faire?

Il existe déjà plusieurs communautés francophones autour des technologies Microsoft mais celle-ci n’est pas une “concurrente” de plus. Il est déjà agréable de voir que les communautés existantes ont chacune leur spécialité pour, au final, pouvoir faire le tour des technos et avoir des ressources sur ces dernières.
Dans la même lancée, Dotnet-France a décidé de se concentrer sur les certifications, un sujet pour lequel nous manquons régulièrement de ressources.

 

Les certifications ? Ca sert à rien c’est du bachotage et rien d’autre.

Il n’est pas nécessaire d’avoir ici un débat pro ou anti-certifications. Il existe de nombreux détracteurs sur les certifications néanmoins, ces personnes ne font bien souvent que généraliser tous les certifiés en prenant en exemple quelques tricheurs. Si vous n’aimez pas les certifications, n’allez pas sur le site, c’est aussi simple que cela :)

 

Quels sont les plus de Dotnet-France?

D-F est donc orienté autour des certifications. Or, qu’est ce qu’il faut pour réussir une certification?

Tout d’abord des ressources. D-F propose l’équivalent des MOC Microsoft, à savoir des cours complets sur les technologies Microsoft, que ce soit du C#, du WPF, du Silverlight, ou même du XNA, vous trouverez un peu de tout sur tout.

Ensuite, il y a surtout sur Dotnet-France un testing center permettant de s’entrainer aux certifications comme dans les conditions réelles.  Il vient ainsi remplacer certif-express et certif-dotnet qui ont fait leur temps et qui ne sont plus réellement maintenus à jour (bien dommage pour le second car ce projet initiateur aurait pu donner de très grandes choses)

Enfin, D-F permet de faire un suivi de son programme de certification et de savoir quelles certifications il nous reste à passer pour arriver au titre souhaité.

 

Qui s’occupe de ce projet?

A l’origine de ce projet commencé il y a pratiquement un an, se trouvent trois étudiants (Julien Dollon, Bertrand Vergnault et Laurent Assis-Arentes) de SUPINFO.

Autour de ce trio de fondateurs se trouvent des dizaines de rédacteurs, pour la plupart venant de SUPINFO également.

 

Comment j’ai connu ce projet?

Julien a pris contact avec moi pour me présenter le projet il y a de ca bien des mois. Je suis donc descendu sur Toulouse voir l’équipe au complet (ils n’étaient que 7-8 à l’époque) et j’ai pu tout de suite voir l’enthousiasme et le sérieux du projet. Depuis je l’aide à ma façon et c’est pour cela qu’aujourd’hui, je suis fier de vous présenter ce gros bébé :)

 

 

Conclusion, allez vous faire une idée de ce portail et gardez en tête que ce n’est que la première version et il y a énormément de choses dans la todo et la force de cette communauté, c’est qu’il y a la “main-d’oeuvre” pour rapidement réaliser ces choses. D-F ne devrait pas tarder à faire sa place en le prouvant de par la qualité de ses ressources.

Par ici la visite

Tags:

Microsoft | .Net

Nouvelle preview d'ASP.Net MVC

by Louis-Guillaume Morand 28. mai 2008 12:36

Comme l'indique Scott Guthrie sur son blog , hier est sorti la nouvelle preview du framework MVC pour ASP.Net. Pour ceux qui ont un minimum d'architecture dans les pattes et/ou qui ont codé dans d'autres languages  (ZendFramework en PHP, Struts en JAVA ou encore Ruby On Rails), le terme MVC sera clair. Pour les autres, plutôt que repartir de zéro, je vous invite à lire le billet de Florent Santin qui présentait, il y a quelques mois déjà, les premières informations que l'on avait sur ce nouveau framework.

En (très) gros, c'est des projets bien structurés en couches et (logiquement) bien propres. On sépare totalement tout ce qui est l'interface, le traitement et la communication. Explication concise par Sébastien Carriere

Plus...

Tags:

.Net | MVC

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen