Revue du web du 22 mars

Les tweets de la semaine

 http://twitter.com/Mix10French/status/10577773952 quand on vous dit que c’est une version “developper preview”

http://twitter.com/MSDN_Forum/statuses/10613210551 chercher des failles potentielles de sécurité à travers le code décompilé de composants.

http://twitter.com/snaveen/status/10544872113 tracer des informations de bas niveau en Silverlight, attention “hack ahead”

La question Stackoverflow

http://stackoverflow.com/questions/2461319/c-inconsistent-math-operation-result-on-32-bit-and-64-bit on pensait ne plus avoir à tenir compte des différents machines quand on développe … sauf dans certains cas. Une réponse par Eric Lippert, un des designer de C#. On pourra consulter une autre réponse plus précise.

Actualités Microsoft 

La conférence MIX10 a bien tenu ses promesses :

Avec ce billet de Scott Hanselman on peut avoir l’essentiel des liens officiels, on attendra quelques jours pour avoir le retour de la communauté.

Actualités “Alt.NET”

On connaisait Mono sur linux depuis plusieurs années. Souvent considéré plus comme une preuve de concept plus qu’un vrai runtime, les versions se sont succédées et commencent à trouver une place dans un mouvement plus vaste. Là on trouverait une architecture .NET “classique” avec par exemple ASP.MET MVC, Unity, Entity Framework sur un Windows Server 2008, l’alternative Linux (Mono, Ninject, FubuMVC, NHibernate) n’est plus un concept. Mais c’est vraiment du côté du développement mobile que Mono nous a surpris avec MonoTouch, l’environnement .NET pour des applications iPhone/iPod Touch/iPad. Novell récidive avec Androïd : MonoDroid.

De l’autre côté

Certains essaient de nous convaincre que maintenant il est préférable d’utiliser un serveur d’application “full fledge” comme JBoss ou GlassFish plutôt qu’un serveur Tomcat “tuné”. Il est vrai que le temps des containers EJB2 où les applications J2EE prenaient du temps à se déployer (en plus du développement pas facile) est bien loin. JBoss et GlassFish font partis de ces produits qui ont fait table rase du passé afin de proposer un container qui offre les mêmes services mais de façon plus “agile”. DZone fait un très bon résumé du nouveau stack de référence Java EE6 dont le package “web”. 

Un projet

Il n’est pas facile de tester les interfaces utilisateurs. TDD a bien révolutionné la façon de coder (et de tester) notre code de composant (quel est son contrat externe, qu’est-ce que j’attends en entrée, quelle sont les cas passants, non passants etc.) mais s’attaquer à la couche de présentation avec les outils de tests unitaires n’est pas le plus approprié d’après Steve Sanderson. Dans ce billet il présente SpecFlow un framework de BDD pour .NET avec une application ASP.NET MVC.

L’intégration dans Visual Studio via le plugin (2008 et 2010) semble bien faite. Les fichier .features contiennent les spécifications de test :

les fichiers de tests
les fichiers de tests

Si on prend pour exemple le test “browsing”  avec un breakpoint:

exemple de breakpoint
exemple de breakpoint

SpecFlow génère une dll de test NUnit que vous pouvez utiliser pour générer les squelettes de vos “steps” de votre test en C# :

géneration des steps
géneration des steps

Ici compléter avec le framework WatiN pour simuler le navigateur :

implémentation des test en C#
implémentation des test en C#

On peut alors rejouer les test dans NUnit ou avec votre plugin VS préféré (en mode administrateur) :

pass
pass

billet publié dans les rubriques coding le