Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie PhpSpec für die testgetriebene Entwicklung in PHP

So verwenden Sie PhpSpec für die testgetriebene Entwicklung in PHP

PHPz
PHPzOriginal
2023-06-27 10:04:361481Durchsuche

PhpSpec ist ein sehr beliebtes testgesteuertes Entwicklungstool in der PHP-Sprache. Es kann Entwicklern helfen, Unit-Tests bequemer und effizienter durchzuführen und dadurch die Codequalität und Zuverlässigkeit zu verbessern. Ziel dieses Artikels ist es, die Verwendung von PhpSpec für die testgetriebene Entwicklung vorzustellen.

1. Installieren Sie PhpSpec

Bevor Sie PHPSpec verwenden, müssen Sie es zunächst in Ihrer lokalen Entwicklungsumgebung installieren. Der Installationsprozess ist sehr einfach. Die spezifischen Schritte sind wie folgt:

  1. Öffnen Sie das Terminal und wechseln Sie in das Verzeichnis, in dem sich das Projekt befindet.
  2. Composer require phpspec/phpspec ausführen. dev;
  3. Warten Sie, bis die Installation abgeschlossen ist.

Nach Abschluss der Installation finden wir die ausführbare PHPSpec-Datei im Verzeichnis Vendor/bin.

2. Erstellen Sie eine Testdatei

Wenn wir mit dem Schreiben von Testfällen beginnen, müssen wir zuerst eine PHPSpec-Testdatei erstellen. Testdateien können automatisch generiert werden, indem die folgenden Befehle ausgeführt werden:

  1. Öffnen Sie das Terminal und wechseln Sie in das Verzeichnis, in dem sich das Projekt befindet.
  2. Führen Sie den Befehl „vendor/bin/phpspec discover [class name]“ aus.
  3. Zum Beispiel: Vendor/bin/phpspec beschreibt App/Service/ExampleService.

Nach der Ausführung des obigen Befehls generiert PHPSpec automatisch einen Testordner, der eine Datei „ExampleServiceSpec.php“ enthält. Diese Datei verwenden wir zum Schreiben von Testfällen für die Klasse „ExampleService“.

3. Testfälle schreiben

Als nächstes können wir mit dem Schreiben von Testfällen beginnen. Suchen Sie in der Datei „ExampleServiceSpec.php“ nach der Methode „describe“, die ein Testszenario darstellt.

In der beschreibenden Methode können wir die let-Methode verwenden, um die im Test erforderlichen Objekte zu definieren, zum Beispiel:

class ExampleServiceSpec extends ObjectBehavior
{
    public function let(ExampleRepository $exampleRepository)
    {
        $this->beConstructedWith($exampleRepository);
    }
}

Im obigen Code verwenden wir die let-Methode, um das BeispielRepository-Objekt einzufügen, um die erforderlichen Abhängigkeiten für BeispielService bereitzustellen .

Dann können wir konkrete Testfälle schreiben. Zum Beispiel:

class ExampleServiceSpec extends ObjectBehavior
{
    // ... 

    public function it_should_create_example(ExampleRepository $exampleRepository)
    {
        $exampleData = ['title' => 'example', 'content' => 'example content'];

        $exampleRepository->create($exampleData)->shouldBeCalled();

        $this->createExample($exampleData);
    }
}

Im obigen Code haben wir einen Testfall mit dem Namen „it_should_create_example“ definiert. Anhand des Beispiels können wir sehen, dass ArgumentMatcher verwendet werden, wobei die Methode create den Parameter $exampleData akzeptiert.

Jeder Testfall besteht aus einer oder mehreren Behauptungen. Im obigen Beispiel erwarten wir, dass die Methode „create“ im Objekt „ExampleRepository“ mit dem übergebenen Parameter „$exampleData“ aufgerufen wird.

4. Führen Sie den Testfall aus

Nachdem der Testfall geschrieben wurde, können wir PHPSpec verwenden, um den Test auszuführen. Führen Sie den folgenden Befehl aus:

vendor/bin/phpspec run

Wenn der Testfall erfolgreich verläuft, gibt PhpSpec eine grüne Erfolgsflagge aus; wenn der Testfall fehlschlägt, gibt PhpSpec eine rote Fehlerflagge aus und gibt die detaillierte Fehlermeldung aus.

5. Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie man PHPSpec für die testgesteuerte Entwicklung verwendet. Zuerst müssen wir PHPSpec installieren und Testdateien erstellen, dann Testfälle schreiben und schließlich PHPSpec verwenden, um den Test auszuführen und anzuzeigen die Testergebnisse. Durch diese Schritte können wir Unit-Tests bequemer und effizienter durchführen und dadurch die Qualität und Zuverlässigkeit des Codes verbessern.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PhpSpec für die testgetriebene Entwicklung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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