Position actuelle: Accueil> Derniers articles> Écrivez des cas de test pour vérifier l'exactitude de l'array_diff_assoc ()

Écrivez des cas de test pour vérifier l'exactitude de l'array_diff_assoc ()

M66 2025-06-06

La fonction Array_Diff_assoc () de PHP est utilisée pour calculer les différences entre deux tableaux ou plus et renvoyer les éléments qui existent dans le premier tableau mais qui ne sont pas dans d'autres tableaux. Il compare non seulement les valeurs du tableau, mais compare également les clés du tableau. Comprendre comment vérifier l'exactitude de la fonction array_diff_assoc () est une partie importante pour s'assurer que les programmes PHP s'exécutent correctement.

Utilisation de base de la fonction array_diff_assoc ()

Avant d'écrire des cas de test, comprenez d'abord l'utilisation de base de la fonction 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);
?>

Dans cet exemple, $ résultat contiendra un tableau montrant les éléments qui existent dans $ array1 mais qui ne sont pas dans $ array2 , en tenant compte des différences de noms et de valeurs clés. La sortie sera:

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

Conception de cas de test

Pour vérifier l'exactitude de Array_Diff_assoc () , nous devons concevoir certains cas de test pour nous assurer qu'il fonctionne correctement dans tous les cas. Voici quelques situations de test courantes:

1. Tester les fonctions de base

Nous pouvons tester la différence entre les deux tableaux pour nous assurer que la fonction renvoie le résultat correct.

 <?php
// Cas de test 1: Tests fonctionnels de base
$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. Testez le même tableau

Lorsque les deux tableaux sont exactement les mêmes, array_diff_assoc () doit renvoyer un tableau vide.

 <?php
// Cas de test 2: Le même tableau
$array1 = array("a" => "green", "b" => "blue");
$array2 = array("a" => "green", "b" => "blue");

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

3. Test des tableaux de clés et valeurs différentes

Pendant les tests, vous pouvez définir les clés ou les valeurs du tableau différemment pour vous assurer que Array_Diff_assoc () compare non seulement les valeurs, mais compare également les clés.

 <?php
// Cas de test 3: Différentes valeurs de clés
$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. Testez la comparaison du groupe majoritaire

array_diff_assoc () peut accepter plusieurs tableaux en tant que paramètres, nous devons donc tester les différences entre plusieurs tableaux.

 <?php
// Cas de test 4: Comparaison de la plupart des tableaux
$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. Tester le tableau vide

Pour le cas des tableaux vides, array_diff_assoc () doit revenir au tableau d'origine car il n'y a pas d'autres tableaux à comparaison.

 <?php
// Cas de test 5: Test de tableau vide
$array1 = array();
$array2 = array("a" => "green", "b" => "blue");

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

6. Test des tableaux avec différents types de données

Nous devons également tester les tableaux de différents types de données pour nous assurer que la fonction peut gérer différents types de données (par exemple, entiers, chaînes, booléens, etc.).

 <?php
// Cas de test 6: Différents types de données
$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));
?>

Faire le test

PHPUnit, le cadre de test unitaire de PHP, peut être utilisé pour automatiser l'exécution de ces cas de test. Voici un exemple de test phpunit simple:

 <?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);
    }
}
?>

Résumer

À travers les cas de test ci-dessus, nous avons vérifié l'exactitude de la fonction array_diff_assoc () dans plusieurs scénarios différents. Assurez-vous que vous rédigez des cas de test complets couvrant les conditions aux limites courantes et différents types de données est essentiel pour garantir la fiabilité du code. L'utilisation de PHPUnit ou d'autres outils de test peut nous aider à automatiser ces tests et à nous assurer que les fonctions fonctionnent correctement dans les applications du monde réel.