Liens du 06/03/2012

Au programme du MVC, de l’Asp.net, du Visual Studio 2011, du Jquery, des conseils ….

1- MVC -Web Api – Gestion des exceptions  http://weblogs.asp.net/cibrax/archive/2012/02/27/handling-exceptions-in-your-asp-net-web-api.aspx

2- Jquery Template/View Engine in Asp.net MVC http://www.codeproject.com/Articles/188467/Using-JavaScript-View-Engines-in-ASP-NET-MVC

3- ASP.NET MVC + Selenium + IISExpress http://stephenwalther.com/blog/archive/2011/12/22/asp-net-mvc-selenium-iisexpress.aspx

4- Integrating Javascript Unit Tests With Visual Studio http://stephenwalther.com/blog/archive/2010/12/20/integrating-javascript-unit-tests-with-visual-studio.aspx

5- 10 Essential Tools for building ASP.NET Websites http://stephenwalther.com/blog/archive/2010/11/22/10-essential-tools-for-building-asp-net-websites.aspx

6- Visual Studio 11 Beta: Using page inspector http://www.asp.net/mvc/tutorials/mvc-4/using-page-inspector-in-an-mvc-application-in-visual-studio-11-beta

7- 8 conseils pour jeunes developpeurs: http://pym.me/posts/8-conseils-pour-jeunes-developpeurs/

8- Preprocessor Directive in C#  http://www.codeproject.com/Articles/304175/Preprocessor-Directives-in-Csharp

9- Inside Visual Studio 11: A Guided Tour http://visualstudiomagazine.com/articles/2012/03/01/more-power.aspx

10- Asp.Net MVC 3 : Develop Hybrid Native and Mobile Web Apps http://msdn.microsoft.com/fr-fr/magazine/hh852592(en-us).aspx

C# : Les Tests unitaires – Part 3 2/2 – Déploiement de fichiers et jeux de tests

Après le déploiement de fichiers, voici comment utiliser ces fichiers Xml deployés comme source de données pour faire des jeux de tests.

Voici notre test unitaire qui utilise notre fichier Xml

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\NumbersData.xml",
"Number", DataAccessMethod.Sequential), DeploymentItem("DemosTestUnitaires.Test\\TestData\\NumbersData.xml"), TestMethod]
public void AdditionDeuxChiffresEtObtenirLaSomme_TestParFichierDeDonnees()
{
//Arrange
int c = int.Parse(TestContext.DataRow["c"].ToString());
int b = int.Parse(TestContext.DataRow["b"].ToString());
Calculatrice calculatrice = new Calculatrice();

int actualSomme = 10; //la somme de c et b
int expectedSomme = 0;

//Act
expectedSomme = calculatrice.Add(c, b);
Debug.WriteLine(DateTime.Now.TimeOfDay.ToString());
//Assert
Assert.IsTrue(expectedSomme <= actualSomme, c.ToString() + " + " + b.ToString());

}

Explication :

Les attributs :

  • DataSource : nom du provider (ici Xml) , chemin après déploiement du fichier xml, le nom de la table, méthode d’accès au données (ici séquentiel, ca peut être aussi aléatoire)
  • DeploymentItem : déploiement du fichier xml

Ces attributs peuvent être configurés automatiquement grâce à un assistant qui s’obtient en allant dans la liste des test de notre projet, cliquez sur la méthode de test désirée et dans la fenêtre des propriétés choisir « Data Connection String »

Exploitation des données :

Les données du datasource sont lues avec la méthode

TestContext.DataRow

int c = int.Parse(TestContext.DataRow["c"].ToString());
int b = int.Parse(TestContext.DataRow["b"].ToString());

Résultat du test:Avec ce fichier xml, le test est en SUCCES :

Par contre si dans le fichier xml on rajoute ce jeu de données :

<Number c="1" b="10" />

Dans ce cas le test est en Echec :

Remarque : comme vous pouvez le voir dans la fenêtre du résultat du test il y a le détail pour chaque élément du fichier xml. En fait la méthode du test unitaire est exécutée pour chaque ligne du fichier xml.

Voila pour cette partie, dans la 4eme partie de cet article, je montrerai comment faire des tests unitaires qui mettent à jour (ou insertion)  des enregistrements d’une base de données.

C# : Les Tests unitaires – Part 3 1/2 – Déploiement de fichiers et jeux de tests

Lors de l’exécution d’un test unitaire il est souvent utile de déployer des fichiers, comme par exemple des fichiers xml.

Ces fichiers xml contiendrons les données de tests, ainsi pour un même test il sera possible de l’exécuter avec plusieurs jeux de données, ce fichier xml est donc une DataSource pour le test.

Le problème c’est qu’un projet de tests unitaires ne se comporte pas comme un projet web il ne peut pas par default déployer des fichiers.

Cet article va donc expliquer comme déployer des fichiers puis comment automatiser l’exécution des tests avec le contenu des ces fichiers en l’utilisant comme une DataSource.

Le déploiement

Dans notre exemple, on va dans le projet créer un répértoire « TestData ».

Dans celui-ci on va créer un fichier xml « NumbersData.xml » avec comme contenu :

<Numbers>
<Number c="1" b="2" />
<Number c="1" b="3" />
<Number c="1" b="4" />
<Number c="1" b="5" />
<Number c="1" b="6" />
<Number c="1" b="7" />
<Number c="1" b="8" />
</Numbers></pre>

Tout d’abord, il faut configurer notre projet de tests unitaire à déployer des fichiers.

Lire la suite

C# : Les Tests unitaires – Part 2 – Exécutions

Pour exécuter un test unitaire dans Visual Studio, dans le Menu Test à Windows à Test List Editor

Dans la fenêtre qui s’ouvre, dans la partie de droite choisir « All Loaded Test », et dans la partie principale apparaît la liste de tous les Tests unitaires crées.

Pour Exécuter un ou plusieurs Tests il suffit de cochers les Test à exécuter.

De faire un click droit et de choisir « Run checked Tests » (« exécuter les tests sélectionnés »).

Le résultat du test apparaît dans un panel:

Lire la suite