| | 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.