PHPPECTEC ist ein PHP-Test-Framework, das auf dem Konzept der verhaltensgetriebenen Entwicklung (BDD) basiert. Wenn Entwickler PHPPECTEC verwenden, um Tests zu schreiben, müssen sie zuerst das Verhalten der Klasse beschreiben und dann überprüfen, ob diese Verhaltensweisen durch Testfälle korrekt implementiert werden. Im Vergleich zu herkömmlichen Unit -Tests schenkt PHPPECTEC dem Verhalten des Codes mehr Aufmerksamkeit und kann die laufende Logik des Codes intuitiver widerspiegeln, wodurch die Entwicklungseffizienz und die Codequalität verbessert werden.
Stellen Sie vor der Installation von PHPPECTEC sicher, dass Ihre Umgebung die folgenden Bedingungen erfüllt:
Die PHP -Version muss höher als 7,0 sein
Komponist installiert
Das Installieren von PHPTSPEC über den Komponisten ist sehr einfach.
<span class="fun">Der Komponist benötigt PHPTSPEC/PHPTSPEC</span>
Nach Abschluss der Installation können Sie PHPEPECTEC verwenden, indem Sie Anbieter/bin/phptPectec ausführen.
Zunächst müssen Sie eine Klassenbeschreibungsdatei (Spec) erstellen:
// Dateiname: MyStringSpec.php
use PhpSpec\ObjectBehavior;
<p>class MyStringSpec extends ObjectBehavior<br>
{<br>
function it_is_initializable()<br>
{<br>
$this->shouldHaveType(MyString::class);<br>
}<br>
}<br>
In dem Beispiel können wir durch Erben der ObjectBehavior -Klasse die von PHPPECT bereitgestellte Testmethode aufrufen, um das Codeverhalten zu überprüfen. Die IT_IS_Initializable -Methode hier testet, ob die MyString -Klasse korrekt instanziiert werden kann.
Nachdem der Befehl Anbieter/bin/phptpc ausgeführt wurde, zeigt das Terminal so etwas wie folgt an:
MyString
? is initializable
1 specs
1 example
1 assertion
Dies weist darauf hin, dass der Testfall erfolgreich ausgeführt wurde und die Testabdeckungsrate 100%erreicht hat.
Die Methode, mit der die Klasse wie erwartet funktioniert. Zum Beispiel:
function it_can_add_two_numbers()
{
$this->add(2, 3)->shouldReturn(5);
}
Diese Methode testet, ob add () zwei Zahlen korrekt hinzufügen und das Ergebnis zurückgeben kann.
Wird verwendet, um festzustellen, ob das Verhalten der Klasse mit den Erwartungen übereinstimmt. Zum Beispiel:
function it_should_return_false_for_empty_string()
{
$this->isEmpty('')->shouldReturn(false);
}
Dieser Test stellt sicher, dass die Methode isEmpty () bei leeren Zeichenfolgen falsch zurückgibt.
Wird verwendet, um zu testen, ob die Methode eine Ausnahme in einem bestimmten Fall ausgelöst hat. Zum Beispiel:
function it_should_throw_an_exception_when_index_out_of_bound()
{
$this->shouldThrow('OutOfBoundsException')->during('get', [10]);
}
Dieser Test prüft, ob die Ausnahme von OutoFboundSexception ausgelöst wird, wenn die Get () -Methode außerhalb des Bereichs in einen Index übergeben wird.
Matcher wird verwendet, um zu behaupten, ob die Testergebnisse mit den Erwartungen übereinstimmen. PHPSPEC verfügt über eine Vielzahl von integrierten Spielern, und die folgenden sind häufig verwendete.
Überprüfen Sie die Methode, die den Wert zurückgibt. Zum Beispiel:
function it_can_add_two_numbers()
{
$this->add(2, 3)->shouldReturn(5);
}
Rufen Sie die add () -Methode an, um in 2 und 3 zu bestehen, erwarten Sie, 5 zurückzugeben.
Bestimmt, ob der Rückgabewert dem erwarteten Wert entspricht. Zum Beispiel:
function it_should_return_hello_world()
{
$this->return_hello_world()->shouldEqual('Hello World');
}
Stellen Sie sicher, dass die Methode return_hello_world () die Zeichenfolge "Hallo Welt" zurückgibt.
Erkennen Sie, ob die Methode die angegebene Ausnahme auswirkt. Zum Beispiel:
function it_should_throw_an_exception_when_index_out_of_bound()
{
$this->shouldThrow('OutOfBoundsException')->during('get', [10]);
}
Rufen Sie die GET () -Methode an und geben Sie in 10 eine Ausnahme von OutofboundSexception aus.
PHPSPEC ist ein leistungsstarkes PHP-Test-Framework, mit dem Entwickler problemlos qualitativ hochwertige Testfälle schreiben können. Durch die verhaltensgetriebene Entwicklungsmethode verbessert PhPPECT nicht nur die Wartbarkeit des Codes, sondern optimiert auch den testgetriebenen Entwicklungsprozess. Es ist ein leistungsstarkes Tool für PHP -Entwickler, um die Codequalität zu verbessern.