Comment démarrer les tests en PHP avec PHPUnit avec un guide étape par étape.
Avant de commencer à écrire des tests, vous devez installer PHPUnit dans votre projet.
Vous pouvez l'installer globalement à l'aide de Composer :
composer global require phpunit/phpunit
Ou installez-le localement pour un projet spécifique :
composer require --dev phpunit/phpunit
Une fois installé, vous pouvez confirmer l'installation en exécutant :
./vendor/bin/phpunit --version
Créons une classe Calculatrice simple qui ajoutera deux nombres. Ce cours fera l'objet de notre test.
// src/Calculator.php class Calculator { public function add($a, $b) { return $a + $b; } }
Ensuite, créez une classe de test pour écrire des tests pour la classe Calculatrice. Par convention, les fichiers de test PHPUnit doivent se terminer par Test.php et être placés dans un répertoire de tests.
// tests/CalculatorTest.php use PHPUnit\Framework\TestCase; class CalculatorTest extends TestCase { public function testAddition() { // Arrange: Create a new Calculator instance $calculator = new Calculator(); // Act: Perform the add operation $result = $calculator->add(2, 3); // Assert: Verify the result is 5 $this->assertEquals(5, $result); } }
Classe de test :
La classe de test CalculatorTest étend TestCase, qui est la classe de base fournie par PHPUnit. Chaque classe de test devrait en hériter.
Organiser :
Dans la méthode testAddition, nous instancions la classe Calculator. Cette étape met en place tout le nécessaire pour le test (communément appelée phase « organiser »).
Agir :
Nous appelons la méthode add() de la classe Calculator avec les valeurs 2 et 3. C'est l'action ou le comportement que nous testons.
Affirmer :
Enfin, nous utilisons la méthode assertEquals() pour vérifier que le résultat de add(2, 3) est bien 5. Si l'assertion est vraie, le test réussira ; sinon, cela échouera.
Pour exécuter vos tests, exécutez la commande suivante dans le terminal :
./vendor/bin/phpunit tests
Si tout est configuré correctement, vous devriez voir un résultat similaire à celui-ci :
PHPUnit 9.5.4 by Sebastian Bergmann and contributors. . 1 / 1 (100%) Time: 00:00.010, Memory: 4.00 MB OK (1 test, 1 assertion)
Ajoutons une autre méthode pour tester la soustraction et écrivons un cas de test correspondant.
// src/Calculator.php class Calculator { public function add($a, $b) { return $a + $b; } public function subtract($a, $b) { return $a - $b; } }
// tests/CalculatorTest.php use PHPUnit\Framework\TestCase; class CalculatorTest extends TestCase { public function testAddition() { $calculator = new Calculator(); $result = $calculator->add(2, 3); $this->assertEquals(5, $result); } public function testSubtraction() { $calculator = new Calculator(); $result = $calculator->subtract(5, 3); $this->assertEquals(2, $result); } }
Exécutez à nouveau les tests pour vous assurer que les méthodes d'ajout et de soustraction fonctionnent :
./vendor/bin/phpunit tests
Si les deux tests réussissent, vous devriez voir :
PHPUnit 9.5.4 by Sebastian Bergmann and contributors. .. 2 / 2 (100%) Time: 00:00.010, Memory: 4.00 MB OK (2 tests, 2 assertions)
Vous disposez désormais d'une configuration de base pour tester en PHP à l'aide de PHPUnit. Voici un bref récapitulatif du processus :
En élargissant cette approche pour couvrir des scénarios plus complexes, vous vous assurerez que votre code PHP fonctionne comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!