Aktueller Standort: Startseite> Neueste Artikel> Wie testet ich das Verhalten von Array_Change_key_Case () im PHP -Unit -Test (Phpunit)?

Wie testet ich das Verhalten von Array_Change_key_Case () im PHP -Unit -Test (Phpunit)?

M66 2025-04-25

Array_Change_key_Case () ist eine gemeinsame Funktion in PHP, die den Fall aller Schlüssel in einem Array ändert. Diese Funktion ist sehr nützlich, wenn Sie die Fallkonsistenz von Arrayschlüsselnamen sicherstellen müssen. Bei Unit -Tests müssen wir jedoch sicherstellen, dass diese Funktion in verschiedenen Situationen korrekt ausgeführt werden kann. In diesem Artikel wird erläutert, wie Sie die Funktion array_change_key_case () unter Verwendung von Phpunit testen.

1. Eine kurze Einführung in die Funktion array_change_key_case ()

Die Funktion array_change_key_case () akzeptiert zwei Parameter:

  • Array : Das zu verarbeitende Array.

  • Fall (optional): Gibt die Konvertierungsmethode des oberen Falls an. Der Standardwert ist Case_lower , dh Conversion in den niedrigeren Fall; CASE_UPPER kann an den oberen Fall übergeben werden.

Grammatik :

 array_change_key_case(array $array, int $case = CASE_LOWER): array

Beispiel :

 $array = [
    "FirstName" => "John",
    "LastName"  => "Doe"
];

print_r(array_change_key_case($array, CASE_LOWER));

Ausgabe:

 Array
(
    [firstname] => John
    [lastname] => Doe
)

2. Erstellen Sie Phpunit -Testfälle

Schreiben wir als nächstes einen Phpunit -Testfall, um sicherzustellen, dass Array_Change_key_Case () ordnungsgemäß funktioniert. Nehmen wir an, was wir testen möchten, ist, um alle Schlüssel des Arrays in Kleinbuchstaben oder Großbuchstaben umzuwandeln.

Stellen Sie zunächst sicher, dass Sie Phpunit installiert haben. Wenn Sie es noch nicht installiert haben, können Sie es über den Komponisten installieren:

 composer require --dev phpunit/phpunit ^9

Bei Phpunit -Tests müssen wir eine Testklasse erstellen und einige Testmethoden definieren. Hier ist ein einfaches Beispiel:

 <?php

use PHPUnit\Framework\TestCase;

class ArrayChangeKeyCaseTest extends TestCase
{
    // Testen Sie die Namen der Arrayschlüsse in Kleinbuchstaben konvertieren Sie in Kleinbuchstaben
    public function testArrayChangeKeyCaseToLower()
    {
        $input = [
            "FirstName" => "John",
            "LastName"  => "Doe"
        ];

        $expected = [
            "firstname" => "John",
            "lastname"  => "Doe"
        ];

        $result = array_change_key_case($input, CASE_LOWER);

        $this->assertEquals($expected, $result);
    }

    // Testen Sie die Namen der Arrayschlüsse in Großbuchstaben in Großbuchstaben
    public function testArrayChangeKeyCaseToUpper()
    {
        $input = [
            "firstName" => "John",
            "lastName"  => "Doe"
        ];

        $expected = [
            "FIRSTNAME" => "John",
            "LASTNAME"  => "Doe"
        ];

        $result = array_change_key_case($input, CASE_UPPER);

        $this->assertEquals($expected, $result);
    }

    // Testen Sie das leere Array
    public function testArrayChangeKeyCaseWithEmptyArray()
    {
        $input = [];

        $result = array_change_key_case($input, CASE_UPPER);

        $this->assertEquals([], $result);
    }

    // Test mit URL Tastenarchitektur
    public function testArrayChangeKeyCaseWithURL()
    {
        $input = [
            "UserURL" => "http://m66.net/profile",
            "ApiURL"  => "https://m66.net/api"
        ];

        $expected = [
            "userurl" => "http://m66.net/profile",
            "apiurl"  => "https://m66.net/api"
        ];

        $result = array_change_key_case($input, CASE_LOWER);

        $this->assertEquals($expected, $result);
    }
}

3. Erklären Sie Testfälle

  1. testArrayChangeKeyCasetolower () : Tests zum Umwandeln von Schlüssel eines Arrays in Kleinbuchstaben.

  2. testArrayChangeKeyCasetoupper () : Tests zum Umwandeln von Schlüssel eines Arrays in Großbuchstaben.

  3. testArrayChangeKeyCaseWitHemptyArray () : Tests auf leeren Arrays.

  4. testArrayChangeKeyCasewithurl () : Testen Sie ein Array mit URL -Schlüssel, um sicherzustellen, dass der konvertierte Schlüssellame in Kleinbuchstaben ist und der Wert der URL unverändert bleibt.

4. Führen Sie Phpunit -Tests durch

Speichern Sie die Testdatei im Testverzeichnis und führen Sie den Phpunit -Test mit dem folgenden Befehl aus:

 ./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/ArrayChangeKeyCaseTest

Wenn alles einwandfrei funktioniert, sollten Sie die Ausgabe aller Tests sehen.

5. Zusammenfassung

Durch die Verwendung von Phpunit können wir sicherstellen, dass die Funktion array_change_key_case () wie erwartet in mehreren Szenarien funktioniert. Unabhängig davon, ob es sich um einen einfachen Schlüssellame -Fallumwandlung oder ein komplexes Array, das URLs enthält, kann die korrekte Einheitstests sicherstellen, dass unsere Bedürfnisse in verschiedenen Situationen erfüllt werden. Durch das Testen verschiedener Arten von Eingaben können wir das Verhalten von Funktionen besser verstehen und die Robustheit des Codes sicherstellen.