Wie verwende ich Codeception mit CakePHP?

WBOY
Freigeben: 2023-06-04 08:20:02
Original
1156 Leute haben es durchsucht

CakePHP ist ein Open-Source-Framework für Webanwendungen, das auf PHP basiert und Entwicklern dabei helfen kann, schnell Webanwendungen zu erstellen. Codeception ist ein leistungsstarkes Testframework, das Entwicklern bei der Durchführung automatisierter Tests helfen kann. In diesem Artikel wird erläutert, wie Sie Codeception zum Testen in CakePHP verwenden.

  1. Codeception installieren

Zuerst müssen Sie Codeception installieren. Es kann über Composer installiert werden. Führen Sie den folgenden Befehl aus:

composer require --dev codeception/codeception
Nach dem Login kopieren

Wenn Sie andere Module benötigen, können Sie es wie folgt installieren:

composer require --dev codeception/module-webdriver
composer require --dev codeception/module-db
composer require --dev codeception/module-asserts
Nach dem Login kopieren
  1. Codeception initialisieren

Nach der Installation von Codeception müssen Sie Folgendes im Stammverzeichnis ausführen Verzeichnis der CakePHP-Anwendung Befehl zum Initialisieren von Codeception:

vendor/bin/codecept init
Nach dem Login kopieren

Nach der Ausführung des Befehls gibt es eine Reihe interaktiver Fragen, die beantwortet werden müssen. Sie müssen beispielsweise den Testtyp, den Speicherort der Testdatei usw. auswählen.

  1. Schreibtests

Codeception bietet verschiedene Teststufen. In CakePHP können Sie Funktionstests verwenden, um zu testen, ob sich die Anwendung wie erwartet verhält. Funktionstests simulieren die Benutzerinteraktion mit der Anwendung, z. B. das Ausfüllen von Formularen, das Klicken auf Links usw. Das Folgende ist ein Beispieltest:

<?php 
$I = new FunctionalTester($scenario);
$I->wantTo('ensure that login works');
$I->amOnPage('/');
$I->click('Login');
$I->seeCurrentUrlEquals('/users/login');
$I->fillField('username', 'testuser');
$I->fillField('password', 'testpass');
$I->click('Login');
$I->seeCurrentUrlEquals('/dashboard');
$I->see('Welcome, testuser');
Nach dem Login kopieren

Der obige Beispieltest versucht, die Benutzeranmeldung zu simulieren und zu überprüfen, ob sie erfolgreich ist. Simulieren Sie das Verhalten des Benutzers mit $I->amOnPage() und $I->click() und überprüfen Sie dann, ob es den Erwartungen entspricht, mit $I->see() und $I->seeCurrentUrlEquals().

  1. Führen Sie den Test aus

Nachdem Sie den Test geschrieben haben, können Sie den folgenden Befehl verwenden, um den Test auszuführen:

vendor/bin/codecept run
Nach dem Login kopieren

Wenn Sie den angegebenen Test ausführen möchten, können Sie den folgenden Befehl verwenden:

vendor/bin/codecept run functional MyFirstTestCest
Nach dem Login kopieren

Where, MyFirstTestCest ist der Name der Testdatei. Wenn Sie nur eine bestimmte Testmethode ausführen möchten, können Sie den folgenden Befehl verwenden:

vendor/bin/codecept run functional MyFirstTestCest:testLogin
Nach dem Login kopieren

wobei testLogin der Name der Testmethode ist.

  1. Codeception und PHPUnit

CakePHP verwendet standardmäßig PHPUnit für Unit-Tests. Codeception basiert ebenfalls auf PHPUnit und kann daher auch als Testmethode angesehen werden. Das Schöne an Codeception ist, dass es das Schreiben, Ausführen und Verwalten von Tests vereinfacht.

Wenn Sie PHPUnit und Codeception gleichzeitig in CakePHP verwenden müssen, können Sie den folgenden Code zur Datei phpunit.xml hinzufügen, um den Codeception-Test auszuführen:

<testsuites>
    <testsuite name="cake">
        <directory>./tests/TestCase/</directory>
        <directory>./vendor/codeception/codeception/tests/unit/</directory>
    </testsuite>
</testsuites>
Nach dem Login kopieren

Der obige Code beinhaltet auch die Ausführung des Codeception-Tests bei der Ausführung der PHPUnit-Test.

Zusammenfassung

Dieser Artikel stellt vor, wie man Codeception zum Testen in CakePHP verwendet. Codeception bietet umfangreiche Testfunktionen wie Funktionstests, End-to-End-Tests, API-Tests usw., die uns dabei helfen können, Anwendungen umfassender zu testen. Gleichzeitig ist Codeception einfach zu verwenden und leicht zu starten, was die Testeffizienz erheblich verbessern kann.

Das obige ist der detaillierte Inhalt vonWie verwende ich Codeception mit CakePHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage