Sommaire

Test d’interface : Scripting Cake

Nous pouvons rajouter plusieurs tâches dans notre fichier build.cake. La tâche principale va exécuter les tests d’interface localement ou au niveau du pipeline.

Nous allons lire le fichier app.config du projet siteWEB.Tests pour extraire le chemin du répertoire des tests d’interface, car nous avons besoin de copier les sources du siteWEB dans un autre répertoire et de brancher un serveur IIS-Express dessus. Pour ce faire, nous allons rajouter une référence aux librairies XML dans notre fichier build.cake.

Ajoutez en premier la déclaration des librairies XML du framework .NET. Comme nous l’avions précisé, le langage Cake a cette particularité de pouvoir mixer du script avec du code C# et donc de vous permettre de profiter du potentiel offert par les librairies .NET :

using System.Xml.Linq; 
using System.Linq; 
using System.Xml.XPath;

Le code ci-dessous fait une lecture du fichier app.config qui se trouve dans le projet siteWEB.Tests. Elle nous permet de récupérer le dossier du site :

var xmlconfig = 
XElement.Load(System.IO.Path.Combine(System.IO.Path.GetFullPath("
siteWEB.Tests"),"app.config")); 
var interfaceTestsPath = 
xmlconfig.Element("appSettings").Elements("add").Where(t=> 
t.Attribute("key").Value == 
"interfaceTestsPath").First().Attribute("value").Value;

Pour rappel, vous pouvez disposer du code complet sur le dépôt ...