2017-10-19 3 views
0

J'ai une telle réponse de l'appel api:Comment valider JSON correctement

[{ 
    "1": { 
     "name": "Euro", 
     "iso": "EUR", 
     "sign": "€" 
    }, 
    "2": { 
     "name": "Dollar", 
     "iso": "USD", 
     "sign": "$" 
    }, 
    "3": { 
     "name": "Pound", 
     "iso": "GBP", 
     "sign": "£" 
    }, 
    "6": { 
     "name": "Czech koruna", 
     "iso": "CZK", 
     "sign": "Kč" 
    }, 
    "7": { 
     "name": "Australian Dollar", 
     "iso": "AUD", 
     "sign": "A$" 
    }, ... 
] 

et j'utiliser la méthode seeResponseMatchesJsonType() pour valider ce tableau, mais premier champ est un nombre de 1 à 100 et dans la méthode de seeResponseMatchesJsonType I doit préciser exactement le terrain,

Code

qui ne fonctionne pour moi

seeResponseMatchesJsonType(["1"=> [ 
     "name"=> "Euro", 
     "iso"=> "string", 
     "sign"=> "string" 
    ],... 
and that code 100 times or what amount ids I will receive)) 

Répondre

0

en fonction de votre cas, je pense qu'il est préférable d'utiliser seeResponseContainsJson ins Au lieu de seeResponseMatchedJsonType. seeResponseContainsJson peut être utilisé pour valider une partie de json existe dans la réponse. http://codeception.com/docs/modules/REST#seeResponseContainsJson.

Espérons que ça aide.