Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Remove the deprecated PHPUnit_Extensions_TestDecorator part #20

Merged
merged 1 commit into from
Mar 16, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 0 additions & 62 deletions src/extending-phpunit.rst
Original file line number Diff line number Diff line change
Expand Up @@ -213,68 +213,6 @@ Dans :ref:`appendixes.configuration.test-listeners` vous pouvez voir
comment configurer PHPUnit pour brancher votre moniteur de test lors de l'exécution
des tests.

.. _extending-phpunit.PHPUnit_Extensions_TestDecorator:

Hériter de PHPUnit_Extensions_TestDecorator
###########################################

Vous pouvez encapsuler des cas de test ou des séries de tests dans une
sous-classe de ``PHPUnit_Extensions_TestDecorator`` et utiliser
le Design Pattern Decorator pour réaliser certaines actions avant et après
que les tests soient exécutés.

PHPUnit apporte un décorateur de test concrets :
``PHPUnit_Extensions_RepeatedTest``. Il est utilisé pour
exécuter de manière répétée un test et ne le comptabiliser comme succès que si
toutes les itérations ont réussi.

:numref:`extending-phpunit.examples.RepeatedTest.php`
montre une version raccourcie du décorateur de test ``PHPUnit_Extensions_RepeatedTest``
qui illustre comment écrire vos propres décorateurs de tests.

.. code-block:: php
:caption: Le décorateur RepeatedTest
:name: extending-phpunit.examples.RepeatedTest.php

<?php
use PHPUnit\Framework\TestCase;

require_once 'PHPUnit/Extensions/TestDecorator.php';

class PHPUnit_Extensions_RepeatedTest extends PHPUnit_Extensions_TestDecorator
{
private $timesRepeat = 1;

public function __construct(PHPUnit\Framework\Test $test, $timesRepeat = 1)
{
parent::__construct($test);

if (is_integer($timesRepeat) &&
$timesRepeat >= 0) {
$this->timesRepeat = $timesRepeat;
}
}

public function count()
{
return $this->timesRepeat * $this->test->count();
}

public function run(PHPUnit_Framework_TestResult $result = null)
{
if ($result === null) {
$result = $this->createResult();
}

for ($i = 0; $i < $this->timesRepeat && !$result->shouldStop(); $i++) {
$this->test->run($result);
}

return $result;
}
}
?>

.. _extending-phpunit.PHPUnit_Framework_Test:

Implémenter HPUnit\Framework\Test
Expand Down