2010-09-12 7 views
4

Je dois tester un tableau avec des tableaux internes.Comment tester les tableaux internes avec phpunit

mon tableau ressemble à ceci.

$testdata=Array 
    (
     [0] => Array 
      (
       [label] => 'Ammy' 
       [idr] => 'user7' 
       [rel] => 7 
      ) 

     [1] => Array 
      (
       [label] => 'sidh' 
       [idr] => user8 
       [rel] => 8 
      ) 

     [2] => Array 
      (
       [label] => 'Alan' 
       [idr] => 'user9' 
       [rel] => 9 
      ) 
    ) 

dans ce cas, mon exigence est d'affirmer si les clés de présente tableau interne en utilisant l'affirmation assertArrayHasKey() de PHPUnit. J'ai essayé de le faire comme ceci

foreach ($testdata as $values) { 
//print_r($values); 
    $this->assertArrayHasKey('idr', $values); 
    $this->assertArrayHasKey('rel', $values); 

} 

mais cela ne fonctionne pas pour moi. Même le contrôle ne va pas dans la boucle foreach().

s'il vous plaît me suggérer une solution pour cela.

+1

Si elle ne fait jamais à la boucle puis il est un problème ailleurs et nous ne pouvons pas dire seulement avec le code que vous avez posté. Votre utilisation est correcte telle quelle. – prodigitalson

Répondre

2
foreach ($testdata as $values) { 
//print_r($values); 
    $this->assertArrayHasKey('idr', $values); 
    $this->assertArrayHasKey('rel', $values); 

} 

cette partie de ma question fonctionne très bien. En fait, je n'obtenais pas le tableau lui-même dans le scénario de test. donc ça n'allait pas à l'intérieur du foreach(). maintenant c'est résolu. J'ai eu une erreur en passant args à la fonction.

-1

Je crois que ce contrôle ne va pas à l'intérieur de la boucle foreach.

Supprimer whole:

$testdata= Array 
    (
     [0] => Array 
      (
       [label] => 'Ammy' 
       [idr] => 'user7' 
       [rel] => 7 
      ) 

     [1] => Array 
      (
       [label] => 'sidh' 
       [idr] => user8 
       [rel] => 8 
      ) 

     [2] => Array 
      (
       [label] => 'Alan' 
       [idr] => 'user9' 
       [rel] => 9 
      ) 
    ) 
+0

dans le cas réel entier n'est pas là. Je l'ai juste gardé ici pour le rendre plus descriptif. de toute façon je vais modifier cela. pouvez-vous s'il vous plaît suggérer si foreach() être utilisé dans phpunit. – sidhartha

+1

@sidharth foreach loop est utilisé pour obtenir la valeur des tableaux ... –

+1

@sidhartha: oui, un foreach peut être utilisé dans phpunit. – prodigitalson

Questions connexes