Maison  >  Article  >  développement back-end  >  Comment utiliser PHPUnit pour les tests comportementaux en PHP

Comment utiliser PHPUnit pour les tests comportementaux en PHP

王林
王林original
2023-06-27 17:54:22730parcourir

PHP est un langage de programmation open source largement utilisé. C'est l'une des principales technologies pour de nombreux sites Web et applications. Le framework PHP fournit plusieurs frameworks de tests unitaires intégrés, dont PHPUnit est le plus couramment utilisé. PHPUnit est un framework de test PHP permettant d'écrire et d'exécuter des cas de tests automatisés.

Dans cet article, nous examinerons en profondeur comment utiliser PHPUnit pour les tests basés sur le comportement.

Les tests pilotés par le comportement (BDD) font référence au test du comportement du système d'application, plutôt que de simplement tester si le système d'application produit les résultats attendus. BDD joue un rôle important dans l’écriture de code fiable et convivial. Il implique trois éléments clés : la spécification, le scénario et l'étape.

Une spécification est une description détaillée du comportement de l'application, un scénario est une instanciation de la spécification et les étapes sont les actions et les résultats attendus dans le scénario. Dans PHPUnit, les tests BDD peuvent être implémentés à l'aide de l'extension PHPUnit BDD.

Voici les étapes pour utiliser PHPUnit pour les tests BDD :

Étape 1 : Installer PHPUnit

PHPUnit peut être installé à l'aide de composer, ajoutez simplement la dépendance PHPUnit dans le fichier composer.json. Exécutez la commande suivante dans le dossier du projet pour installer PHPUnit.

composer require phpunit/phpunit

Étape 2 : Installez l'extension PHPUnit BDD

L'extension PHPUnit BDD est construite sur PHPUnit et fournit des fonctionnalités supplémentaires pour ajouter des spécifications, des scénarios, des étapes et les résultats souhaités.

L'extension PHPUnit BDD peut être installée à l'aide de composer. Exécutez la commande suivante pour rechercher l'extension dans la bibliothèque d'extensions PHPUnit BDD :

composer search phpunit-bdd

Sélectionnez une version d'extension PHPUnit BDD appropriée, puis ajoutez la dépendance de l'extension PHPUnit BDD dans le fichier composer.json. Exécutez la commande suivante pour installer l'extension PHPUnit BDD :

composer require behat/phpunit-bundle --dev

Étape 3 : Créez un répertoire de test

Dans le répertoire racine du projet, créez un répertoire nommé tests et créez un sous-répertoire nommé Features sous le répertoire tests.

Créez un fichier nommé Login.feature dans le sous-répertoire des fonctionnalités. Le format de fichier doit être une description en langage Gherkin, comme indiqué ci-dessous :

Feature: Login

  Scenario: A user logs in
    Given I am on the login page
    When I fill in "username" with "myusername"
    And I fill in "password" with "mypassword"
    And I press "login"
    Then I should be on the dashboard page

Créez un fichier nommé bootstrap.php dans le répertoire des fonctionnalités. Ce fichier contient certaines configurations nécessaires à l'exécution des tests, ainsi que l'introduction de l'extension PHPUnit BDD. Le contenu du fichier est le suivant :

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$container = new BehatTestworkServiceContainerTesterTesterContainer();
$container->set('phpunit', new BehatPHPUnitDependencyInjectionConfiguration());
$container->set('phpunit.configuration', new BehatPHPUnitConfigurationConfiguration());

Étape 4 : Ecrire la classe de test

Créez un fichier nommé LoginTest.php dans le répertoire tests. Le contenu du fichier est le suivant :

<?php

namespace Tests;

use BehatBehatContextContext;
use BehatBehatTesterExceptionPendingException;
use BehatGherkinNodePyStringNode;
use BehatGherkinNodeTableNode;
use BehatBehatContextSnippetAcceptingContext;
use PHPUnitFrameworkTestCase;

class LoginTest extends TestCase implements Context, SnippetAcceptingContext
{
    public function testLogin()
    {
        $this->getPage('login');
        $this->fillField('username', 'myusername');
        $this->fillField('password', 'mypassword');
        $this->pressButton('login');
        $this->assertPageContainsText('dashboard');
    }
}

Étape 5 : Exécuter le test

Dans le répertoire du projet, exécutez la commande suivante pour exécuter le test :

vendor/bin/behat

PHPUnit chargera automatiquement le scénario de test, exécutera le test et générera le rapport d'essai correspondant.

L'un des avantages des tests BDD est qu'ils créent des entrées et des sorties conviviales pour l'application. Les tests BDD testent non seulement si le code fonctionne correctement, mais testent également si le code est facile à comprendre et à utiliser. Il favorise la coopération et la communication entre les équipes, permettant aux développeurs d'accorder plus d'attention aux besoins et à l'expérience des utilisateurs.

Implémenter les tests BDD dans PHPUnit n'est pas difficile. Suivez simplement les étapes ci-dessus pour commencer à écrire des cas de test BDD afin de garantir la fiabilité et la convivialité de votre code.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn