0Pricing
PHP Academy · Lektion

Assertions und Testmethoden

Verwenden Sie assertEquals, assertSame, assertNull und weitere Assertions.

Assertions und Testmethoden ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was sind Assertions?

Assertions überprüfen, ob die tatsächliche Ausgabe des Codes dem erwarteten Wert entspricht. PHPUnit stellt eine umfangreiche Bibliothek von Assertion-Methoden bereit.

assertEquals vs. assertSame

assertEquals verwendet einen nicht-strikten Vergleich (==). assertSame verwendet einen strikten Vergleich (===) und überprüft Typ UND Wert.

<?php
$this->assertEquals(0, false);      // passes (0 == false)
$this->assertSame(0, false);        // FAILS  (0 !== false)

assertTrue und assertFalse

Überprüfen Sie, ob ein Wert exakt true oder exakt false ist.

<?php
$this->assertTrue(is_string("hello"));
$this->assertFalse(is_numeric("abc"));

assertNull und assertNotNull

Überprüfen Sie, ob ein Wert null ist.

<?php
$user = $repo->find(999);
$this->assertNull($user);

$user = $repo->find(1);
$this->assertNotNull($user);

assertCount

Überprüfen Sie, ob ein zählbares Objekt die erwartete Anzahl von Elementen enthält.

<?php
$items = $cart->getItems();
$this->assertCount(3, $items);

assertStringContainsString

Überprüfen Sie, ob ein String einen Teilstring enthält (Groß- und Kleinschreibung wird berücksichtigt).

<?php
$html = $template->render();
$this->assertStringContainsString("<h1>Welcome</h1>", $html);

assertInstanceOf

Überprüfen Sie, ob ein Objekt eine Instanz einer bestimmten Klasse oder eines bestimmten Interfaces ist.

<?php
$handler = $factory->create("email");
$this->assertInstanceOf(EmailHandler::class, $handler);

assertThrows / expectException

Erwarten Sie, dass während des Tests eine Exception ausgelöst wird.

<?php
public function test_throws_on_invalid_input(): void
{
    $this->expectException(\InvalidArgumentException::class);
    $this->expectExceptionMessage("must be positive");
    new Product(-1);
}

assertArrayHasKey

Überprüfen Sie, ob ein Array einen bestimmten Schlüssel enthält.

<?php
$result = $api->getUser(1);
$this->assertArrayHasKey("email", $result);
$this->assertArrayHasKey("id", $result);

assertEqualsWithDelta

Vergleichen Sie Gleitkommazahlen innerhalb einer Toleranz (Delta).

<?php
$this->assertEqualsWithDelta(3.14159, M_PI, 0.001);

Benutzerdefinierte Fehlermeldungen

Übergeben Sie jeder Assertion als letztes Argument eine Nachricht, um die Ausgabe bei fehlgeschlagenen Tests zu verbessern.

<?php
$this->assertEquals(200, $response->status(), "Expected HTTP 200 OK response");

Zusammenfassung

Verwenden Sie assertSame für strikte Gleichheit, assertEquals für nicht-strikte Gleichheit und spezialisierte Assertions wie assertInstanceOf, assertCount und assertThrows für aussagekräftige Tests.

Schnelltest

Welche Assertion überprüft zusätzlich den Typ des Werts?

Häufig gestellte Fragen

Ist die Lektion „Assertions und Testmethoden“ kostenlos?

Ja — der vollständige Text von „Assertions und Testmethoden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Assertions und Testmethoden“?

Verwenden Sie assertEquals, assertSame, assertNull und weitere Assertions. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um PHP Academy zu starten?

Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Assertions und Testmethoden“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?

Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. PHPUnit einrichten und den ersten Test schreiben
  2. Assertions und Testmethoden
  3. Datenprovider für parametrisierte Tests
  4. Abhängigkeiten mit PHPUnit mocken
← Zurück zu PHP Academy