Maison développement back-end tutoriel php Comment utiliser Behat en programmation PHP ?

Comment utiliser Behat en programmation PHP ?

Jun 12, 2023 am 08:39 AM
php语言 behat框架 编程测试

En programmation PHP, Behat est un outil très utile, qui peut aider les programmeurs à mieux comprendre les exigences métier pendant le processus de développement et à garantir la qualité du code. Dans cet article, nous présenterons comment utiliser Behat dans la programmation PHP.

1. Qu'est-ce que Behat ?

Behat est un framework de développement piloté par le comportement (BDD) qui couple le code PHP via une description du langage (cas d'utilisation écrits en langage Gherkin), permettant ainsi au code et aux exigences métier de fonctionner ensemble. L'utilisation de Behat pour les tests permet aux programmeurs de passer d'une simple vérification de grammaire et de comportement à l'utilisation du langage naturel pour exprimer des instances métier et vérifier automatiquement ces instances. Behat relie parfaitement les exigences de description du « client » et le traitement d'implémentation du « serveur ».

2. Installation de Behat

Utilisez composer (gestionnaire de packages PHP) pour installer Behat. Ouvrez la console (terminal) dans le répertoire du projet et entrez la commande suivante :

composer require --dev behat/behat

Rappel : --dev signifie que Behat est en cours de développement utiliser. Si vous utilisez Behat dans un environnement de production, vous ne devez pas ajouter le paramètre --dev.

3. Write Feature

Après avoir terminé l'installation, nous pouvons créer une fonctionnalité dans le répertoire APP_PATH/features/ :

Feature: 搜索
  我想在“首页”上搜索某个商品
  为了快捷找到我需要的商品
  我需要查询到相应结果

  Scenario: 搜索结果是正确的
    Given 我在“首页”页面
    When 我输入“水杯”作为搜索关键字
    And 我点击“搜索”按钮
    Then 我应该看到网页标题包含“水杯”
Copier après la connexion

Le langage Gherkin ci-dessus décrit Une fonctionnalité contient un ensemble de scénarios (scénarios) qui décrivent comment effectuer une recherche et vérifier les résultats.

4. Configurer Behat

Nous devons définir les options de configuration de Behat via le fichier de configuration config/behat.yml. Ce qui suit est un fichier de configuration simple :

default:
  suites:
    default:
      contexts:
        - FeatureContext
      filters:
        tags: ''
  extensions:
    BehatMinkExtension:
      base_url: "http://localhost/"
      files_path: "%paths.base%/persistent/files"
      goutte: ~
      selenium2: ~
    BehatSymfony2Extension:
      kernel:
        env: test
        debug: true
Copier après la connexion

Ce fichier de configuration indique à Behat quelle classe de contexte doit être utilisée et quel type de navigateur doit être utilisé.

5. Écrivez la classe Context

Nous devons créer une classe Context pour gérer les étapes définies dans la fonctionnalité et appeler le code de test écrit pour vérifier l'exactitude du coder. Codeception et PHPUnit sont des bibliothèques de test qui prennent en charge Behat. Nous utiliserons PHPUnit pour montrer comment écrire la classe Context.

Créez FeatureContext.php dans le répertoire APP_PATH/features/bootstrap/ et ajoutez le code suivant :

<?php

use BehatBehatContextContext;
use BehatBehatHookScopeBeforeFeatureScope;
use BehatBehatTesterExceptionPendingException;
use BehatMinkWebAssert;
use BehatMinkExtensionContextMinkContext;
use PHPUnitFrameworkAssert as PHPUnit;

class FeatureContext extends MinkContext implements Context
{
 
    public function __construct($baseUrl)
    {
        $this->baseUrl = $baseUrl;
    }
 
    /**
     * @param BeforeFeatureScope $scope
     */
    public static function setup(BeforeFeatureScope $scope)
    {
        // 配置数据库等其他代码
    }

    /**
     * @Given /^我在“(.*)”页面$/
     */
    public function 在页面($page)
    {
        $this->visitPath(sprintf('/%s', $page));
    }

    /**
     * @When /^我输入“(.*)”作为搜索关键字$/
     */
    public function 输入作为搜索关键字($keyword)
    {
        $page = $this->getPage();
        $searchForm = $page->find('css', 'form[action="/search"]');
        $searchInput = $searchForm->find('css', 'input[type="text"]');
        $searchInput->setValue($keyword);
    }

    /**
     * @When /^我点击“(.*)”按钮$/
     */
    public function 点击按钮($button)
    {
        $page = $this->getPage();
        $button = $page->find('css', sprintf('input[type="submit"][value="%s"]', $button));
        $button->click();
    }

    /**
     * @Then /^我应该看到网页标题包含“(.*?)”$/
     */
    public function 应该看到网页标题包含($expected)
    {
        PHPUnit::assertTrue(stripos($this->getSession()->getPage()->getTitle(), $expected) !== false);
    }
}
Copier après la connexion

Le code ci-dessus définit un ensemble d'étapes (étapes) pour Feature The Le scénario défini est mis en œuvre.

6. Exécutez le test

Exécutez la commande suivante dans la console :

vendor/bin/behat

Exécutez la commande Enfin, Behat exécutera le fichier Feature selon la configuration dans le fichier config/behat.yml. La console peut avoir des barres de progression et des invites d'erreur, et enfin les informations de réussite ou d'échec du test seront répertoriées.

Ici, nous avons appris à utiliser Behat en programmation PHP pour réaliser des tests. L'utilisation de Behat peut améliorer l'expressivité du code métier, réduire les problèmes de qualité pendant le processus de développement et améliorer la collaboration en matière de développement en équipe et l'efficacité globale de l'avancement.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment gérer les erreurs d'en-tête de requête dans le développement du langage PHP ? Comment gérer les erreurs d'en-tête de requête dans le développement du langage PHP ? Jun 10, 2023 pm 05:24 PM

Dans le développement du langage PHP, les erreurs d’en-tête de requête sont généralement causées par des problèmes dans les requêtes HTTP. Ces problèmes peuvent inclure des en-têtes de requête non valides, des corps de requête manquants et des formats de codage non reconnus. La gestion correcte de ces erreurs d’en-tête de requête est la clé pour garantir la stabilité et la sécurité des applications. Dans cet article, nous discuterons de quelques bonnes pratiques pour gérer les erreurs d'en-tête de requête PHP afin de vous aider à créer des applications plus fiables et sécurisées. Vérification de la méthode de requête Le protocole HTTP spécifie un ensemble de méthodes de requête disponibles (par exemple GET, POS

Comment utiliser l'extension Ctype de PHP ? Comment utiliser l'extension Ctype de PHP ? Jun 03, 2023 pm 10:40 PM

PHP est un langage de programmation très populaire qui permet aux développeurs de créer une grande variété d'applications. Cependant, parfois lors de l’écriture de code PHP, nous devons gérer et valider des caractères. C'est là que l'extension Ctype de PHP s'avère utile. Cet article explique comment utiliser l'extension Ctype de PHP. Que sont les extensions Ctype ? L'extension Ctype pour PHP est un outil très utile qui fournit diverses fonctions pour vérifier le type de caractère dans une chaîne. Ces fonctions incluent isalnum, est

Comment utiliser Behat en programmation PHP ? Comment utiliser Behat en programmation PHP ? Jun 12, 2023 am 08:39 AM

En programmation PHP, Behat est un outil très utile qui peut aider les programmeurs à mieux comprendre les exigences métier pendant le processus de développement et à garantir la qualité du code. Dans cet article, nous présenterons comment utiliser Behat dans la programmation PHP. 1. Qu’est-ce que Behat ? Behat est un framework de développement piloté par le comportement (BDD) qui couple le code PHP via une description du langage (cas d'utilisation écrits en langage Gherkin), permettant ainsi au code et aux exigences métier de fonctionner ensemble. Utilisez Behat pour faire

Comment éviter les problèmes de sécurité liés aux vulnérabilités de traversée de chemin dans le développement du langage PHP Comment éviter les problèmes de sécurité liés aux vulnérabilités de traversée de chemin dans le développement du langage PHP Jun 10, 2023 am 09:43 AM

Avec le développement de la technologie Internet, de plus en plus de sites Web et d’applications sont développés en utilisant le langage PHP. Cependant, des problèmes de sécurité se posent également. L’un des problèmes de sécurité courants concerne les vulnérabilités de traversée de chemin. Dans cet article, nous explorerons comment éviter les vulnérabilités de traversée de chemin dans le développement du langage PHP afin de garantir la sécurité des applications. Qu’est-ce qu’une vulnérabilité de traversée de chemin ? La vulnérabilité de traversée de chemin (PathTraversal) est une vulnérabilité Web courante qui permet à un attaquant d'accéder au serveur Web sans autorisation.

Comment utiliser Phpt pour les tests unitaires en PHP Comment utiliser Phpt pour les tests unitaires en PHP Jun 27, 2023 am 08:35 AM

Dans le développement moderne, les tests unitaires sont devenus une étape nécessaire. Il peut être utilisé pour garantir que votre code se comporte comme prévu et que les bogues peuvent être corrigés à tout moment. Dans le développement PHP, Phpt est un outil de tests unitaires très populaire, très pratique pour écrire et exécuter des tests unitaires. Dans cet article, nous explorerons comment utiliser Phpt pour les tests unitaires. 1. Qu'est-ce que PhptPhpt est un outil de test unitaire simple mais puissant, qui fait partie des tests PHP. Les cas de tests Phpt sont une série d'extraits de code source PHP dont

Le langage php supporte plusieurs styles de commentaires Le langage php supporte plusieurs styles de commentaires Feb 15, 2022 pm 02:05 PM

Le langage PHP prend en charge 3 styles de commentaires : 1. Le style C++, utilisant le symbole "//" et la syntaxe "//comment content" 2. Le style du langage C, utilisant le symbole "/* */" et la syntaxe "/*" ; comment content*" /"; 3. Style Shell (style Perl), utilisant le symbole "#" et la syntaxe "#comment content".

Erreurs courantes et solutions lors de l'analyse de JSON dans le développement du langage PHP Erreurs courantes et solutions lors de l'analyse de JSON dans le développement du langage PHP Jun 10, 2023 pm 12:00 PM

Dans le développement du langage PHP, il est souvent nécessaire d'analyser les données JSON pour les traitements et opérations de données ultérieurs. Cependant, lors de l’analyse de JSON, il est facile de rencontrer diverses erreurs et problèmes. Cet article présentera les erreurs courantes et les méthodes de traitement pour aider les développeurs PHP à mieux traiter les données JSON. 1. Erreur de format JSON L'erreur la plus courante est que le format JSON est incorrect. Les données JSON doivent être conformes à la spécification JSON, c'est-à-dire qu'elles doivent être une collection de paires clé-valeur et utiliser des accolades ({}) et des crochets ([]) pour contenir les données.

Comment éviter les vulnérabilités liées à LDAP dans le développement du langage PHP ? Comment éviter les vulnérabilités liées à LDAP dans le développement du langage PHP ? Jun 10, 2023 pm 09:18 PM

LDAP (Lightweight Directory Access Protocol) est un protocole réseau courant utilisé pour accéder et gérer les services d'annuaire. Dans le développement du langage PHP, LDAP est souvent utilisé pour interagir avec des services d'annuaire LDAP externes, tels que l'authentification d'identité et l'autorisation des utilisateurs. Cependant, en raison de la nature de LDAP, il présente également certaines vulnérabilités en matière de sécurité, telles que des problèmes d'injection LDAP et de remplacement de LDAP. Cet article explique comment éviter les vulnérabilités liées à LDAP dans le développement du langage PHP. Évitez l'injection LDAP L'injection LDAP est une vulnérabilité de sécurité courante, quelque chose comme

See all articles