
| | | La classe : | <?php
require_once 'PHPUnit/Framework.php';
class SimpleTestListener implements PHPUnit_Framework_TestListener
{
private $error = false;
private $numberFailed = 0;
private $numberSuccess = 0;
private $start = 0;
public function __construct()
{
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Test suite</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<style>
body
{
font-family: Arial,Verdana;
font-size: 14px;
}
table
{
border-top: 1px solid #000;
border-bottom: 1px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
}
.failed
{
background-color: #FF3730;
}
.success
{
background-color: #FF952B;
}
.title
{
text-align: center;
font-size: 16px;
border-bottom: 1px solid #000;
}
</style>
</head>
<body>';
}
public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
{
$this->error = true;
$this->numberFailed++;
echo '<tr><td class="failed">Error while running test '.$test->getName().'</td></tr>';
}
public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
{
$this->error = true;
$this->numberFailed++;
echo '<tr><td class="failed">Test '.$test->getName().' failed.</td></tr>';
}
public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
{
$this->error = true;
$this->numberFailed++;
echo '<tr><td class="failed">Test '.$test->getName().' is incomplete.</td></tr>';
}
public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
{
$this->error = true;
$this->numberFailed++;
echo '<tr><td class="failed">Test '.$test->getName().' has been skipped.</td></tr>';
}
public function startTest(PHPUnit_Framework_Test $test)
{
$this->error = false;
}
public function endTest(PHPUnit_Framework_Test $test, $time)
{
if(!$this->error)
{
$this->numberSuccess++;
echo '<tr><td class="success">Test '.$test->getName().' ended successful!</td></tr>';
}
}
public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
{
if($suite->getName() != '')
{
$this->start = microtime();
echo '<table><tr><td class="title">Test '.$suite->getName().'</td></tr>';
}
}
public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
{
if($suite->getName() != '')
{
$executionTime = microtime() - $this->start;
echo '<tr><td>'.$this->numberSuccess.' success, '.$this->numberFailed.' failed. Execution time: '.$executionTime.' sec.</td></tr>';
echo '</table>';
}
}
public function __destruct()
{
echo '</body></html>';
}
}
?>
|
| Exemple d'utilisation : | <?php
require_once 'MaClasseDeTest.php';
require_once 'PHPUnit/TextUI/TestRunner.php';
require_once 'SimpleTestListener.php';
$suite = new PHPUnit_Framework_TestSuite();
$suite->addTestSuite('MaClasseDeTest');
$result = new PHPUnit_Framework_TestResult;
$result->addListener(new SimpleTestListener());
$suite->run($result);
?>
|
|
Consultez les autres pages sources
 
|
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2006 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.