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 我应该看到网页标题包含“水杯”
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
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:
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); } }
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!