Industrialisez vos tests JavaScript avec TestSwarm

TestSwarm est une plate-forme de tests JavaScript distribués. Créé par John Resig, le créateur de jQuery, TestSwarm apporte une réponse novatrice aux problèmes d'industrialisation des projets JavaScript.

Le projet étant encore jeune, la documentation est rare et pas toujours à jour. Je vous propose donc, dans ce premier billet, de voir comment installer TestSwarm. Apache, PHP et MySQL sont requis.

Téléchargement

Téléchargez les sources de l'application sur Github et copiez les dans le dossier servi par Apache.

Création de la base de données

TestSwarm a besoin d'une base de données MySQL pour fonctionner. Créez une base et exécutez le y fichier config/testswarm.sql afin de créer les tables nécessaires au bon fonctionnement de l'application.

Configuration

Nous allons d'abord créer le fichier de configuration, config/testswarm.json. Il faut y renseigner les identifiants de connexion à la base de données, ainsi que le chemin de l'application par rapport à la racine du serveur web.

{
	"database": {
		"host": "localhost",
		"database": "testswarm", 
		"username": "root",
		"password": "password"
	},
	"web": {
		"contextpath": "/testswarm"
	}
}

Nous allons ensuite créer un fichier .htaccess à la racine de l'application. Ici, j'ai simplement copié le fichier config/.htaccess-sample fourni, avant d'ajouter à la ligne 7 le chemin de l'application.

<Files ~ "\.ini$">
Order allow,deny
Deny from all
</Files>

RewriteEngine On
RewriteBase /testswarm  #####<--- le contextpath de l'application

# Don't touch real files and directories (such as ./js/ and ./css/)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

# Remove any trailing slash
RewriteRule ^(.*)/$ $1 [R=301,QSA]

# Dynamic action paths
RewriteRule ^([a-z]*)$ index.php?action=$1 [QSA]
RewriteRule ^([a-z]*)/(.*)$ index.php?action=$1&item=$2 [QSA]

Par défaut, TestSwarm utilise le dossier cache pour stocker des informations temporaires. Sous Linux, il vous sera peut être nécessaire d’autoriser l’écriture dans ce dossier.

chmod 777 ./cache

Comme beaucoup d’applications PHP, Testswarm nécessite le lancement périodique d’une tâche de nettoyage.
Sous linux, le plus simple est d’exécuter Curl dans un tache cron.

* * * * * curl -s http://[adresse de testswarm]/api.php?action=cleanup

Il ne vous reste plus qu'a lancer un navigateur pour vous rendre sur la page d'accueil.

TestSwarm

Nous verrons dans un second billet comment exécuter notre premier test.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.