Maison >interface Web >js tutoriel >Tester les données JSON Exemple
Cet exemple de Test Data JSON fait partie d'une série d'articles qui a été réécrite à la mi-2017 avec des informations à jour et de nouveaux exemples.
Avec les pratiques de codage modernes d'aujourd'hui, la construction d'une nouvelle application nécessite souvent une approche de construction frontale et back-end. Habituellement, deux équipes distinctes sont chargées de travailler simultanément sur chaque zone. Dans les premières étapes, les développeurs frontaux auront besoin de données pour tester les vues qu'ils créent. Les développeurs back-end ont également besoin de données pour tester la logique crud, la sécurité et d'autres processus métier personnalisés sur lesquels ils travaillent. Dans les deux cas, les données de test ne sont souvent pas disponibles au début. Vous pouvez en créer vous-même, cependant, il est lent et conduit souvent à des résultats non concluants.Heureusement, nous vivons à une époque où nous pouvons avoir accès à des services en ligne qui peuvent facilement générer des centaines de lignes de données de test gratuitement. Un tel service est Mockaroo. Il prend en charge la génération de données dans un certain nombre de formats de données, y compris JSON. Voici un échantillon que j'ai reçu de leur site Web:
<span>[{ </span> <span>"id": 1, </span> <span>"first_name": "Jeanette", </span> <span>"last_name": "Penddreth", </span> <span>"email": "jpenddreth0@census.gov", </span> <span>"gender": "Female", </span> <span>"ip_address": "26.58.193.2" </span><span>}, { </span> <span>"id": 2, </span> <span>"first_name": "Giavani", </span> <span>"last_name": "Frediani", </span> <span>"email": "gfrediani1@senate.gov", </span> <span>"gender": "Male", </span> <span>"ip_address": "229.179.4.212" </span><span>}, { </span> <span>"id": 3, </span> <span>"first_name": "Noell", </span> <span>"last_name": "Bea", </span> <span>"email": "nbea2@imageshack.us", </span> <span>"gender": "Female", </span> <span>"ip_address": "180.66.162.255" </span><span>}, { </span> <span>"id": 4, </span> <span>"first_name": "Willard", </span> <span>"last_name": "Valek", </span> <span>"email": "wvalek3@vk.com", </span> <span>"gender": "Male", </span> <span>"ip_address": "67.76.188.26" </span><span>}] </span>
Le service fournit un 132 champs incroyable que vous pouvez utiliser pour générer des données de test pour votre application. Vous pouvez générer jusqu'à 1 000 lignes de données de test gratuitement. Il y a des plans commerciaux si vous avez besoin d'en générer plus.
Si vous cherchez à avoir plus de contrôle sur les données générées, il existe un autre service en ligne appelé JSON-Generator qui peut avoir ce que vous recherchez. Il nécessite une entrée JavaScript pour sortir des données de test personnalisées au format JSON. Voir l'exemple ci-dessous:
Entrée JavaScript:
<span>[ </span> <span>'{{repeat(5, 7)}}', </span> <span>{ </span> <span>_id: '{{objectId()}}', </span> <span>isActive: '{{bool()}}', </span> <span>balance: '{{floating(1000, 4000, 2, "<pre class="brush:php;toolbar:false"><span>[ </span> <span>{ </span> <span>"_id": "5973782bdb9a930533b05cb2", </span> <span>"isActive": true, </span> <span>"balance": ",446.35", </span> <span>"age": 32, </span> <span>"eyeColor": "green", </span> <span>"name": "Logan Keller", </span> <span>"gender": "male", </span> <span>"company": "ARTIQ", </span> <span>"email": "logankeller@artiq.com", </span> <span>"phone": "+1 (952) 533-2258", </span> <span>"friends": [ </span> <span>{ </span> <span>"id": 0, </span> <span>"name": "Colon Salazar" </span> <span>}, </span> <span>{ </span> <span>"id": 1, </span> <span>"name": "French Mcneil" </span> <span>}, </span> <span>{ </span> <span>"id": 2, </span> <span>"name": "Carol Martin" </span> <span>} </span> <span>], </span> <span>"favoriteFruit": "banana" </span> <span>} </span><span>] </span>,0.00")}}', age: '{{integer(20, 40)}}', eyeColor: '{{random("blue", "brown", "green")}}', name: '{{firstName()}} {{surname()}}', gender: '{{gender()}}', company: '{{company().toUpperCase()}}', email: '{{email()}}', phone: '+1 {{phone()}}', friends: [ '{{repeat(3)}}', { id: '{{index()}}', name: '{{firstName()}} {{surname()}}' } ], favoriteFruit: function (tags) { var fruits = ['apple', 'banana', 'strawberry']; return fruits[tags.integer(0, fruits.length - 1)]; } } ]
Sortie de données de test JSON (résultats partiels):
L'exemple de code indiqué sur la première page montre le nombre incroyable de façons de personnaliser la façon dont les données sont générées.
Voici les autres exemples de cette série: JSON, ou notation d'objet JavaScript, est un format d'interchange de données léger qui est facile pour les humains de lire et d'écrire et facile pour les machines à analyser et à générer. Il est basé sur un sous-ensemble du langage de programmation JavaScript, ECMA-262 standard 3e édition - décembre 1999. JSON est un format de texte qui est complètement indépendant du langage mais utilise des conventions qui sont familières aux programmeurs de la Family des langues, y compris C, C #, Java, Javascript, Perl, Python et beaucoup d'autres. Ces propriétés font de JSON un langage idéal d'interchange de données.
Dans le test des données, JSON est important car il permet aux testeurs de structurer, de générer et de manipuler facilement les données attendues pour valider les réponses. Il est également largement utilisé dans les API, ce qui en fait un aspect crucial du développement Web moderne.
Il existe plusieurs façons de générer des données de test au format JSON. L'un des moyens les plus simples consiste à utiliser des outils en ligne comme Mockaroo, qui vous permet de générer des données JSON personnalisées en fonction de vos spécifications. Vous pouvez définir les champs, les types et la gamme de données que vous souhaitez, et cela générera un fichier JSON pour vous.
Une autre façon consiste à créer manuellement vos données JSON. Les données JSON sont structurées comme une collection de paires de valeurs clés. Voici un exemple simple:
{
"nom": "John Doe",
"Age": 30,
"City": "New York"
}
Dans cet exemple, "nom", "âge" et "ville" sont des touches, et "John Doe", 30, et "New York" sont leurs valeurs correspondantes. JSON Properties in Postman?
Voici un exemple simple. Supposons que vous ayez une API qui renvoie les informations d'un utilisateur au format JSON et que vous souhaitez vérifier le nom de l'utilisateur. Vous pouvez écrire un script de test comme ceci:
pm.test ("vérifier le nom d'utilisateur", function () {
var jSondata = pm.Response.json ();
pm.expect (jSondata.name) .to.eql ("John Doe");
});
dans ce script, pm. analyse l'organisme de réponse à JSON, et pm.expect (jSondata.name) .to.eql ("John Doe") vérifie si la propriété "nom" est équipée "John Doe".
Travailler avec les données JSON peut parfois être délicat, surtout lorsque la structure des données est complexe. Certains problèmes courants incluent des types de données incorrects, des clés manquantes, des valeurs inattendues et des erreurs de syntaxe.
Pour résoudre ces problèmes, vous pouvez utiliser des validateurs JSON en ligne pour vérifier si vos données JSON sont correctement formatées. Ces outils peuvent mettre en évidence les erreurs de syntaxe et vous aider à les réparer. Si vous avez affaire à des types de données incorrects, à des clés manquantes ou à des valeurs inattendues, vous devrez peut-être consulter votre logique de génération de données ou vérifier la source des données.
Les données JSON peuvent être utilisées de plusieurs façons dans vos tests. Par exemple, si vous testez une API, vous pouvez utiliser les données JSON comme charge utile de demande. Vous pouvez également utiliser les données JSON pour valider la réponse.
Dans les tests unitaires, vous pouvez utiliser les données JSON comme simulations pour simuler différents scénarios. Cela vous permet de tester le comportement de votre code avec différentes entrées sans avoir à compter sur une source de données en direct.
Dans les tests de bout en bout, vous pouvez utiliser les données JSON pour configurer et démolir les données de test. Par exemple, vous pouvez créer un fichier JSON avec une liste d'utilisateurs, et l'utiliser pour créer et supprimer les utilisateurs avant et après vos tests.
Oui, les données JSON peuvent être converties vers et à partir d'autres formats comme XML et CSV. Il existe de nombreux outils et bibliothèques en ligne qui peuvent le faire. Par exemple, dans JavaScript, vous pouvez utiliser les méthodes JSON.Parse () et JSON.Strifify () à convertir entre JSON et String. Il existe également des bibliothèques comme XML2JS et CSVTOJSON qui peuvent convertir entre JSON et XML ou CSV.
Gestion de grandes données JSON dans les tests peut être difficile, en particulier lorsqu'il s'agit de performances et de consommation de mémoire. Une approche consiste à diviser les données en morceaux plus petits et à les traiter un à la fois. Cela peut être fait à l'aide d'API ou de bibliothèques de streaming qui prennent en charge le streaming.
Une autre approche consiste à utiliser une base de données ou un magasin de données qui peut gérer de grandes quantités de données. Vous pouvez importer les données JSON dans la base de données, puis interroger les données selon les besoins dans vos tests.
La comparaison de deux objets JSON dans les tests peut être effectué à l'aide de vérifications profondes d'égalité. La plupart des cadres de test offrent des fonctions ou des méthodes pour ce faire. Par exemple, dans JavaScript, vous pouvez utiliser la fonction Deefequal () à partir du module ASSERT:
const assert = require ('assert');
assert.deequal (object1, object2);
Cela comparera les deux objets récursivement et vérifiera s'ils ont les mêmes propriétés et valeurs.
La génération de données JSON aléatoires pour les tests peut être effectuée à l'aide de bibliothèques comme Faker.js ou Chance.js. Ces bibliothèques fournissent des fonctions pour générer des données aléatoires de différents types, tels que les noms, les adresses, les nombres, les dates, etc. Vous pouvez utiliser ces fonctions pour générer des valeurs aléatoires pour vos données JSON.
Oui, les données JSON peuvent être utilisées dans les tests de performances. Par exemple, si vous testez une API, vous pouvez utiliser les données JSON comme charge utile de demande et mesurer comment l'API fonctionne avec différentes tailles de données. Vous pouvez également utiliser des données JSON pour simuler différentes charges sur le système, comme un grand nombre d'utilisateurs ou un taux élevé de demandes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!