Schnellstart
Laravel Geboren mit dem Gen zum Testen. Tatsächlich unterstützt Laravel PHPUnit standardmäßig zum Testen und verfügt über eine phpunit.xml-Datei, die für Ihre Anwendung konfiguriert ist. Das Framework stellt außerdem einige praktische Hilfsfunktionen bereit, damit Sie Ihre Anwendung intuitiver testen können.
Standardmäßig enthält das Verzeichnis
Ihrer Anwendung zwei Unterverzeichnisse: und tests
. Beim Unit-Test handelt es sich um einen Test für einen sehr kleinen und relativ unabhängigen Teil Ihres Codes. Tatsächlich werden die meisten Unit-Tests mit einer einzigen Methode durchgeführt. Unter Funktionstests versteht man das Testen großer Codebereiche, einschließlich Interaktionen zwischen mehreren Objekten und sogar vollständiger HTTP-Anfragen an JSON-Endpunkte. Eine Feature
-Testbeispieldatei wird in den Verzeichnissen Unit
und Feature
bereitgestellt. Führen Sie nach der Installation einer neuen Laravel-Anwendung den Befehl Unit
über die Befehlszeile aus, um die Tests auszuführen. ExampleTest.php
phpunit
Umgebung
Wenn Sie phpunit
zum Testen verwenden, setzt Laravel die Umgebung basierend auf den in der phpunit.xml
-Datei festgelegten Umgebungsvariablen automatisch auf testing
und setzt die Sitzung und den Cache auf array
Formularspeicherung, was bedeutet, dass während des Tests keine Sitzungs- oder Cache-Daten bestehen bleiben.
Es steht Ihnen frei, weitere notwendige Testumgebungskonfigurationen zu erstellen. testing
Umgebungsvariablen können in der phpunit.xml
-Datei geändert werden, aber bevor Sie den Test ausführen, stellen Sie sicher, dass Sie den config:clear
Artisan-Befehl verwenden, um den Cache der Konfigurationsinformationen zu leeren!
Außerdem können Sie eine .env.testing
-Datei in Ihrem Projektstammverzeichnis erstellen. Wenn Sie Unit-Tests ausführen oder Artisan-Befehle mit der Option --env=testing
verwenden, werden Variablen in der .env
-Datei überschrieben diese Datei.
Tests definieren und ausführen
Ein Testfall kann mit dem Artisan-Befehl make:test
erstellt werden:
// 在 Feature 目录下创建一个测试类...php artisan make:test UserTest// 在 Unit 目录下创建一个测试类...php artisan make:test UserTest --unit
Nachdem die Testklasse generiert wurde, können Sie PHPUnit wie gewohnt verwenden Definieren Sie die Testmethode auf die gleiche Weise. Um den Test auszuführen, führen Sie einfach den Befehl phpunit
auf dem Terminal aus:
<?php namespace Tests\Unit; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; class ExampleTest extends TestCase{ /** * 一个基本的测试示例。 * * @return void */ public function testBasicTest() { $this->assertTrue(true); } }
{note} Wenn Sie Ihre eigenen
setUp
/tearDown
-Methoden in Ihrer Testklasse definieren möchten, erstellen Sie bitte „Make“. Rufen Sie unbedingt die Methodenparent::setUp()
/parent::tearDown()
in der übergeordneten Klasse auf.