Aktueller Standort: Startseite> Neueste Artikel> Schreiben Sie Testfälle, um die Richtigkeit von Array_diff_assoc () zu überprüfen.)

Schreiben Sie Testfälle, um die Richtigkeit von Array_diff_assoc () zu überprüfen.)

M66 2025-06-06

Die Funktion von PHP von Array_Diff_assoc () wird verwendet, um die Unterschiede zwischen zwei oder mehr Arrays zu berechnen und die Elemente zurückzugeben, die im ersten Array vorhanden sind, aber nicht in anderen Arrays enthalten sind. Es vergleicht nicht nur die Werte des Arrays, sondern auch die Schlüssel des Arrays. Verstehen, wie die Richtigkeit der Funktion array_diff_assoc () überprüft wird, ist ein wichtiger Bestandteil der korrekten PHP -Programme.

Grundlegende Verwendung der Funktion array_diff_assoc ()

Verstehen Sie vor dem Schreiben von Testfällen zunächst die grundlegende Verwendung der Funktion array_diff_assoc () :

 <?php
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "yellow", "d" => "purple");

$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

In diesem Beispiel enthält $ result ein Array, das die in $ array1 vorhandenen Elemente zeigt, die jedoch nicht in $ array2 sind, unter Berücksichtigung der Unterschiede in den Schlüsselnamen und -werten. Die Ausgabe wird sein:

 Array
(
    [b] => blue
    [c] => red
)

Testfall Design

Um die Richtigkeit von array_diff_assoc () zu überprüfen, müssen wir einige Testfälle entwerfen, um sicherzustellen, dass sie in allen Fällen korrekt funktioniert. Hier sind einige häufige Testsituationen:

1. Testen Sie grundlegende Funktionen

Wir können den Unterschied zwischen den beiden Arrays testen, um sicherzustellen, dass die Funktion das richtige Ergebnis zurückgibt.

 <?php
// Testfälle 1: Grundlegende Funktionstests
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "yellow", "d" => "purple");

$result = array_diff_assoc($array1, $array2);
assert($result === array("b" => "blue", "c" => "red"));
?>

2. Testen Sie das gleiche Array

Wenn die beiden Arrays genau gleich sind, sollte Array_diff_assoc () ein leeres Array zurückgeben.

 <?php
// Testfälle 2: Das gleiche Array
$array1 = array("a" => "green", "b" => "blue");
$array2 = array("a" => "green", "b" => "blue");

$result = array_diff_assoc($array1, $array2);
assert($result === array());
?>

3.. Testen Sie Arrays verschiedener Schlüssel und Werte

Während des Tests können Sie die Schlüssel oder Werte des Arrays unterschiedlich festlegen, um sicherzustellen, dass Array_diff_assoc () nicht nur die Werte vergleicht, sondern auch die Tasten vergleicht.

 <?php
// Testfälle 3: Unterschiedliche Schlüsselwerte
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "blue", "c" => "yellow");

$result = array_diff_assoc($array1, $array2);
assert($result === array("c" => "red"));
?>

4. Testen Sie den Mehrheitsgruppenvergleich

array_diff_assoc () kann mehrere Arrays als Parameter akzeptieren, daher müssen wir die Unterschiede zwischen mehreren Arrays testen.

 <?php
// Testfälle 4: Vergleich der meisten Arrays
$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "yellow");
$array3 = array("c" => "red");

$result = array_diff_assoc($array1, $array2, $array3);
assert($result === array("b" => "blue"));
?>

5. Testen Sie das leere Array

Für den Fall von leeren Arrays sollte Array_Diff_assoc () zum ursprünglichen Array zurückkehren, da es keine anderen Arrays zum Vergleich gibt.

 <?php
// Testfälle 5: Leerer Array -Test
$array1 = array();
$array2 = array("a" => "green", "b" => "blue");

$result = array_diff_assoc($array1, $array2);
assert($result === array());
?>

6. Testarrays mit unterschiedlichen Datentypen

Wir müssen auch Arrays verschiedener Datentypen testen, um sicherzustellen, dass die Funktion verschiedene Datenarten (z. B. Ganzzahlen, Zeichenfolgen, Booleschen usw.) verarbeiten kann.

 <?php
// Testfälle 6: Verschiedene Datentypen
$array1 = array("a" => 1, "b" => "blue", "c" => true);
$array2 = array("a" => 1, "b" => "blue", "c" => false);

$result = array_diff_assoc($array1, $array2);
assert($result === array("c" => true));
?>

Führen Sie den Test durch

Phpunit, das Unit -Test -Framework von PHP, kann verwendet werden, um die Ausführung dieser Testfälle zu automatisieren. Hier ist ein einfaches Beispiel für Phpunit -Test:

 <?php
use PHPUnit\Framework\TestCase;

class ArrayDiffAssocTest extends TestCase
{
    public function testArrayDiffAssoc()
    {
        $array1 = array("a" => "green", "b" => "blue", "c" => "red");
        $array2 = array("a" => "green", "b" => "yellow", "d" => "purple");
        $result = array_diff_assoc($array1, $array2);
        $this->assertEquals(array("b" => "blue", "c" => "red"), $result);
    }
}
?>

Zusammenfassen

In den obigen Testfällen haben wir die Richtigkeit der Funktion array_diff_assoc () in mehreren verschiedenen Szenarien überprüft. Stellen Sie sicher, dass Sie umfassende Testfälle für häufige Randbedingungen und unterschiedliche Datentypen schreiben, um die Zuverlässigkeit der Code zu gewährleisten. Durch die Verwendung von Phpunit- oder anderen Testwerkzeugen können wir diese Tests automatisieren und sicherstellen, dass die Funktionen in realen Anwendungen ordnungsgemäß funktionieren.