Heim Backend-Entwicklung PHP-Tutorial Wie verwende ich Behat in der PHP-Programmierung?

Wie verwende ich Behat in der PHP-Programmierung?

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

Bei der PHP-Programmierung ist Behat ein sehr nützliches Tool, das Programmierern dabei helfen kann, Geschäftsanforderungen während des Entwicklungsprozesses besser zu verstehen und die Qualität des Codes sicherzustellen. In diesem Artikel stellen wir vor, wie man Behat in der PHP-Programmierung verwendet.

1. Was ist Behat?

Behat ist ein Framework für verhaltensgesteuerte Entwicklung (BDD), das PHP-Code durch Sprachbeschreibung (in der Gherkin-Sprache geschriebene Anwendungsfälle) koppelt und so die Zusammenarbeit von Code und Geschäftsanforderungen ermöglicht. Durch die Verwendung von Behat zum Testen können Programmierer von einer einfachen Grammatik- und Verhaltensüberprüfung auf die Verwendung natürlicher Sprache umsteigen, um Geschäftsinstanzen auszudrücken und diese Instanzen automatisch zu überprüfen. Behat verbindet perfekt die Beschreibungsanforderungen des „Clients“ und die Implementierungsverarbeitung des „Servers“.

2. Behat-Installation

Verwenden Sie Composer (PHP-Paketmanager), um Behat zu installieren. Öffnen Sie die Konsole (Terminal) im Projektverzeichnis und geben Sie den folgenden Befehl ein:

composer require --dev behat/behat

Erinnerung: --dev bedeutet, dass Behat in der Entwicklung verwendet wird. Wenn Sie Behat in einer Produktionsumgebung verwenden, sollten Sie den Parameter --dev nicht hinzufügen.

3. Feature schreiben

Nach Abschluss der Installation können wir Feature im APP_PATH/features/-Verzeichnis erstellen:

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

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

Die obige Gherkin-Sprache beschreibt ein Feature, das eine Reihe von Szenarien (Scenario) enthält und beschreibt, wie der Vorgang ausgeführt wird eine Funktion zum Suchen und Überprüfen von Ergebnissen.

4. Behat konfigurieren

Wir müssen die Konfigurationsoptionen von Behat über die Konfigurationsdatei config/behat.yml definieren. Das Folgende ist eine einfache Konfigurationsdatei:

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
Nach dem Login kopieren

Diese Konfigurationsdatei teilt Behat mit, welche Kontextklasse verwendet werden muss und welche Art von Browser verwendet werden muss.

5. Schreiben Sie die Kontextklasse

Wir müssen eine Kontextklasse erstellen, um die im Feature definierten Schritte zu verarbeiten, und den geschriebenen Testcode aufrufen, um die Richtigkeit des Codes zu überprüfen. Codeception und PHPUnit sind einige Testbibliotheken, die Behat unterstützen. Wir werden PHPUnit verwenden, um zu demonstrieren, wie die Context-Klasse geschrieben wird.

Erstellen Sie FeatureContext.php im Verzeichnis APP_PATH/features/bootstrap/ und fügen Sie den folgenden Code hinzu:

<?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);
    }
}
Nach dem Login kopieren

Der obige Code definiert eine Reihe von Schritten zum Implementieren des in Feature definierten Szenarios.

6. Führen Sie den Test aus

Führen Sie den folgenden Befehl in der Konsole aus:

vendor/bin/behat

Nach der Ausführung des Befehls führt Behat die Feature-Datei entsprechend der Konfiguration in der Datei config/behat.yml aus. Die Konsole verfügt möglicherweise über einige Fortschrittsbalken und Fehlermeldungen, und schließlich werden die Informationen zum erfolgreichen Bestehen oder Fehlschlagen des Tests aufgelistet.

Hier haben wir gelernt, wie man Behat in der PHP-Programmierung verwendet, um Tests abzuschließen. Der Einsatz von Behat kann die Aussagekraft von Geschäftscode verbessern, Qualitätsprobleme während des Entwicklungsprozesses reduzieren und die Teamentwicklungszusammenarbeit sowie die allgemeine Weiterentwicklungseffizienz verbessern.

Das obige ist der detaillierte Inhalt vonWie verwende ich Behat in der PHP-Programmierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie gehe ich mit Request-Header-Fehlern bei der PHP-Sprachentwicklung um? Wie gehe ich mit Request-Header-Fehlern bei der PHP-Sprachentwicklung um? Jun 10, 2023 pm 05:24 PM

Bei der PHP-Sprachentwicklung werden Anforderungsheaderfehler normalerweise durch einige Probleme in HTTP-Anforderungen verursacht. Zu diesen Problemen können ungültige Anforderungsheader, fehlende Anforderungstexte und nicht erkannte Codierungsformate gehören. Die korrekte Behandlung dieser Anforderungsheaderfehler ist der Schlüssel zur Gewährleistung der Anwendungsstabilität und -sicherheit. In diesem Artikel besprechen wir einige Best Practices für den Umgang mit PHP-Anfrage-Header-Fehlern, um Ihnen beim Erstellen zuverlässigerer und sichererer Anwendungen zu helfen. Überprüfung der Anfragemethode Das HTTP-Protokoll spezifiziert eine Reihe verfügbarer Anfragemethoden (z. B. GET, POS

Wie verwende ich die Ctype-Erweiterung von PHP? Wie verwende ich die Ctype-Erweiterung von PHP? Jun 03, 2023 pm 10:40 PM

PHP ist eine sehr beliebte Programmiersprache, die es Entwicklern ermöglicht, eine Vielzahl von Anwendungen zu erstellen. Beim Schreiben von PHP-Code müssen wir jedoch manchmal Zeichen verarbeiten und validieren. Hier bietet sich die Ctype-Erweiterung von PHP an. In diesem Artikel wird die Verwendung der Ctype-Erweiterung von PHP vorgestellt. Was sind Ctype-Erweiterungen? Die Ctype-Erweiterung für PHP ist ein sehr nützliches Tool, das verschiedene Funktionen zur Überprüfung des Zeichentyps in einer Zeichenfolge bereitstellt. Zu diesen Funktionen gehören isalnum, is

So vermeiden Sie Sicherheitsprobleme durch Path-Traversal-Schwachstellen in der PHP-Sprachentwicklung So vermeiden Sie Sicherheitsprobleme durch Path-Traversal-Schwachstellen in der PHP-Sprachentwicklung Jun 10, 2023 am 09:43 AM

Mit der Entwicklung der Internettechnologie werden immer mehr Websites und Anwendungen mit der PHP-Sprache entwickelt. Allerdings treten auch Sicherheitsprobleme auf. Eines der häufigsten Sicherheitsprobleme sind Path-Traversal-Schwachstellen. In diesem Artikel untersuchen wir, wie Path-Traversal-Schwachstellen in der PHP-Sprachentwicklung vermieden werden können, um die Anwendungssicherheit zu gewährleisten. Was ist eine Path-Traversal-Schwachstelle? Die Path-Traversal-Schwachstelle (PathTraversal) ist eine häufige Web-Schwachstelle, die es einem Angreifer ermöglicht, ohne Autorisierung auf den Webserver zuzugreifen.

Wie verwende ich Behat in der PHP-Programmierung? Wie verwende ich Behat in der PHP-Programmierung? Jun 12, 2023 am 08:39 AM

In der PHP-Programmierung ist Behat ein sehr nützliches Tool, das Programmierern dabei helfen kann, Geschäftsanforderungen während des Entwicklungsprozesses besser zu verstehen und die Qualität des Codes sicherzustellen. In diesem Artikel stellen wir vor, wie man Behat in der PHP-Programmierung verwendet. 1. Was ist Behat? Behat ist ein Framework für verhaltensgesteuerte Entwicklung (BDD), das PHP-Code durch Sprachbeschreibung (in der Gherkin-Sprache geschriebene Anwendungsfälle) koppelt und so die Zusammenarbeit von Code und Geschäftsanforderungen ermöglicht. Benutzen Sie dazu Behat

So verwenden Sie PHP für Unit-Tests in PHP So verwenden Sie PHP für Unit-Tests in PHP Jun 27, 2023 am 08:35 AM

In der modernen Entwicklung ist Unit-Test zu einem notwendigen Schritt geworden. Damit kann sichergestellt werden, dass sich Ihr Code wie erwartet verhält und Fehler jederzeit behoben werden können. In der PHP-Entwicklung ist Phpt ein sehr beliebtes Unit-Test-Tool, mit dem sich Unit-Tests sehr praktisch schreiben und ausführen lassen. In diesem Artikel erfahren Sie, wie Sie PHP für Unit-Tests verwenden. 1. Was ist PhptPhpt ist ein einfaches, aber leistungsstarkes Unit-Test-Tool, das Teil des PHP-Tests ist. PHP-Testfälle sind eine Reihe von PHP-Quellcode-Snippets, deren

Die PHP-Sprache unterstützt mehrere Kommentarstile Die PHP-Sprache unterstützt mehrere Kommentarstile Feb 15, 2022 pm 02:05 PM

Die PHP-Sprache unterstützt drei Kommentarstile: 1. C++-Stil mit dem Symbol „//“ und der Syntax „//Kommentarinhalt“ 2. C-Sprachstil mit dem Symbol „/* */“ und der Syntax „/*“; Kommentarinhalt*" /"; 3. Shell-Stil (Perl-Stil) mit dem Symbol „#“ und der Syntax „#Kommentarinhalt“.

Häufige Fehler und Lösungen beim Parsen von JSON in der PHP-Sprachentwicklung Häufige Fehler und Lösungen beim Parsen von JSON in der PHP-Sprachentwicklung Jun 10, 2023 pm 12:00 PM

Bei der Entwicklung der PHP-Sprache ist es häufig erforderlich, JSON-Daten für die anschließende Datenverarbeitung und -operation zu analysieren. Beim Parsen von JSON können jedoch leicht verschiedene Fehler und Probleme auftreten. In diesem Artikel werden häufige Fehler und Verarbeitungsmethoden vorgestellt, um PHP-Entwicklern dabei zu helfen, JSON-Daten besser zu verarbeiten. 1. JSON-Formatfehler Der häufigste Fehler ist, dass das JSON-Format falsch ist. JSON-Daten müssen der JSON-Spezifikation entsprechen, d. h. die Daten müssen eine Sammlung von Schlüssel-Wert-Paaren sein und geschweifte Klammern ({}) und eckige Klammern ([]) verwenden, um die Daten einzuschließen.

Wie vermeide ich LDAP-bezogene Schwachstellen bei der PHP-Sprachentwicklung? Wie vermeide ich LDAP-bezogene Schwachstellen bei der PHP-Sprachentwicklung? Jun 10, 2023 pm 09:18 PM

LDAP (Lightweight Directory Access Protocol) ist ein gängiges Netzwerkprotokoll, das für den Zugriff auf und die Verwaltung von Verzeichnisdiensten verwendet wird. In der PHP-Sprachentwicklung wird LDAP häufig zur Interaktion mit externen LDAP-Verzeichnisdiensten verwendet, beispielsweise zur Identitätsauthentifizierung und Benutzerautorisierung. Aufgrund der Natur von LDAP weist es jedoch auch einige Sicherheitslücken auf, z. B. Probleme mit der LDAP-Injection und dem LDAP-Überschreiben. In diesem Artikel wird untersucht, wie LDAP-bezogene Schwachstellen bei der PHP-Sprachentwicklung vermieden werden können. Vermeiden Sie die LDAP-Injektion. LDAP-Injection ist eine häufige Sicherheitslücke, so etwas wie

See all articles