Introduction au test logiciel/Tests unitaires/SimpleTest
SimpleTest est un framework de test open source en PHP qui possède une documentation en français sur http://www.simpletest.org/fr/.
Une fois le .gz téléchargé depuis le site officiel, le décompresser dans un répertoire lisible par Apache.
Il existe également sous la forme d'un plugin Eclipse[1].
HelloWorld
[modifier | modifier le wikicode]Soit le fichier HelloWorld.php
situé dans le répertoire du framework :
<?php
require_once('autorun.php');
class TestHelloWorld extends UnitTestCase
{
function TestExitenceFichiers()
{
$this->assertTrue(file_exists($_SERVER['SCRIPT_FILENAME']));
$this->assertFalse(file_exists('HelloWikibooks.php'));
}
}
En exécutant ce script dans un navigateur, toutes les méthodes des classes de test sont exécutées séquentiellement. Il devrait donc comme prévu, se trouver lui-même, puis ne pas trouver un fichier HelloWikibooks avec succès.
Les nombres de tests réussis et échoués sont comptabilisés en bas de page, mais seuls les noms des fonctions en échec sont affichés.
Test d'un formulaire web
[modifier | modifier le wikicode]Plusieurs méthodes sont disponibles pour interagir avec les formulaires[2]. Voici un exemple qui recherche certains mots sur un célèbre site, tente de s'y authentifier, et d'écrire dedans :
<?php
require_once('autorun.php');
require_once('web_tester.php');
class TestWikibooks extends WebTestCase
{
function TestTextesSurPage()
{
$this->assertTrue($this->get('http://fr.wikibooks.org/wiki/Accueil'));
$this->assertTitle('Wikilivres');
$this->assertText('licence');
$this->assertPattern('/Bienvenue/i');
$this->authenticate('MonLogin', 'MonMDP');
$this->assertField('search', 'test');
$this->clickSubmit('Lire');
$this->assertText('Introduction au test logiciel');
}
}
Sous réserve que le site possède bien un champ "name=search".