Aktueller Standort: Startseite> Neueste Artikel> Code -Unit -Test mit str_split Schreiben

Code -Unit -Test mit str_split Schreiben

M66 2025-06-02

In der PHP -Entwicklung ist Str_split eine sehr häufige String -Funktion, die zum Aufteilen von Zeichenfolgen in Arrays verwendet wird. Jedes Array -Element enthält ein Zeichen der ursprünglichen Zeichenfolge. Normalerweise möchten wir Unit -Tests für unseren Code schreiben, um sicherzustellen, dass seine Funktionalität wie erwartet funktioniert. In diesem Artikel wird in PHP in Einheitstests für die Funktion der STR_SPLIT -Funktion eingebracht und einige gemeinsame Testszenarien angezeigt.

1. Verstehen Sie die Funktion str_split

Lassen Sie uns zunächst schnell die grundlegende Verwendung der Str_split -Funktion überprüfen. Die STR_SPLIT -Funktion spaltet die Zeichenfolge in Substrings der angegebenen Länge und gibt ein Array zurück. Die grundlegende Syntax ist wie folgt:

 array str_split ( string $string [, int $length = 1 ] )

Parameter:

  • $ String : Die Eingabezeichenfolge, die gespalten wird.

  • $ Länge (optional): Die Länge jedes Substrings, Standard auf 1.

Beispiel:

 $string = "HelloWorld";
$split = str_split($string, 2);

print_r($split);

Ausgabe:

 Array
(
    [0] => He
    [1] => ll
    [2] => oW
    [3] => or
    [4] => ld
)

In diesem Beispiel teilt Str_split die Zeichenfolge "HelloWorld" in ein Array in einer Gruppe von zwei Zeichen auf.

2. Installieren Sie Phpunit

Um Unit -Tests zu schreiben, müssen wir zunächst Phpunit installieren, ein Standard -Unit -Test -Framework für PHP. Sie können Phpunit über den Komponisten installieren:

 composer require --dev phpunit/phpunit

Nach Abschluss der Installation können wir Phpunit über die Befehlszeile ausführen, um unsere Unit -Tests durchzuführen.

3. Schreiben Sie Testkurse

Als nächstes schreiben wir eine Phpunit -Testklasse, um das Verhalten der Str_split -Funktion zu testen. Der Einfachheit halber erstellen wir eine grundlegende Testklasse und schreiben Testmethoden für mehrere gemeinsame Testszenarien.

Erstellen Sie zunächst eine Testdatei Strsplittest.php :

 <?php
use PHPUnit\Framework\TestCase;

class StrSplitTest extends TestCase
{
    // prüfen str_split Grundfunktionen
    public function testBasicFunctionality()
    {
        $result = str_split("HelloWorld", 2);
        $expected = ['He', 'll', 'oW', 'or', 'ld'];
        $this->assertEquals($expected, $result);
    }

    // prüfen传递空字符串时的返回值
    public function testEmptyString()
    {
        $result = str_split("", 2);
        $this->assertEquals([], $result);
    }

    // prüfen传递单字符字符串时的返回值
    public function testSingleCharacterString()
    {
        $result = str_split("A");
        $this->assertEquals(['A'], $result);
    }

    // prüfen使用默认长度 1 Die Situation
    public function testDefaultLength()
    {
        $result = str_split("Hello");
        $expected = ['H', 'e', 'l', 'l', 'o'];
        $this->assertEquals($expected, $result);
    }

    // prüfen长度大于字符串长度时的行为
    public function testLengthGreaterThanString()
    {
        $result = str_split("Hi", 10);
        $this->assertEquals(['Hi'], $result);
    }

    // prüfen没有传递长度参数时,Verwenden Sie das Standardverhalten
    public function testWithoutLength()
    {
        $result = str_split("abcdef");
        $this->assertEquals(['a', 'b', 'c', 'd', 'e', 'f'], $result);
    }
}

erklären:

  1. testbasicfunctionality : testet die Aufteilung von Standardzeichenfolgen.

  2. TestEmptyString : Um den Fall einer leeren Zeichenfolge zu testen, sollte ein leeres Array zurückgegeben werden.

  3. TestSingLecharacterString : Testen Sie eine Zeichenfolge mit nur einem Zeichen.

  4. TestDefaultLength : Testen Sie, ob die Zeichenfolge standardmäßig aufgeteilt werden soll, wenn keine Länge bereitgestellt wird.

  5. TestLengthGreaterthanstring : Testen Sie, ob nur eine vollständige Zeichenfolge zurückgegeben wird, wenn die geteilte Länge größer als die Zeichenfolgelänge ist.

  6. Test ohne Länge : Testen Sie, ob Sie nach der Standardlänge 1 geteilt werden sollen, wenn die Länge nicht übergeben wird.

4. Führen Sie den Test durch

Nach Abschluss der oben genannten Testklasse können Sie Phpunit verwenden, um Unit -Tests auszuführen. Öffnen Sie das Terminal, geben Sie das Projektverzeichnis ein und führen Sie den folgenden Befehl aus:

 ./vendor/bin/phpunit StrSplitTest.php

Wenn alles einwandfrei funktioniert, sollten Sie die folgende Testausgabe sehen, die anzeigt, dass alle Tests bestanden wurden:

 PHPUnit 9.5.10 by Sebastian Bergmann and contributors.

......

Time: 00:00.029, Memory: 6.00 MB

OK (6 tests, 6 assertions)

5. Zusammenfassung

Durch das Schreiben von Unit -Tests können wir sicherstellen, dass die Funktion der Str_split in allen Fällen ordnungsgemäß funktioniert. Unit -Tests hilft uns nicht nur, potenzielle Probleme zu entdecken, sondern bietet auch Garantien für das Code -Refactoring. Hoffentlich hilft Ihnen dieser Artikel zu verstehen, wie Sie Unit -Tests für Str_split -Funktionen in PHP schreiben und Ihren Code während der Entwicklung robust halten.