- Nous devons nous assurer qu'à chaque poussée, toute notre infrastructure ne se brise pas, pouvez-vous le faire? -Facile!
Découvrez eXo-Test. Une petite classe php-cli avec laquelle exécuter des tests est vraiment facile.
Installation
Disons que vous devez vérifier la disponibilité des pages et la validité de leur contenu, par exemple, assurez-vous qu'il y a des produits dans le catalogue. Rien de plus simple:
<?php
include_once 'vendor/autoload.php';
$i = new Exo;
$url = 'http://localhost:7888/catalog/instrumentyi/';
$i->is_ok($url, '<div class="product-card-name">');
Maintenant, exécutez simplement le script que vous avez créé à partir de la console:
php test.php
Vous recevrez un flip:
1) Succès:
2) Le statut de réponse est 200 (Ok), mais le contenu n'a pas été trouvé
3) Le statut de réponse n'est pas 200
Les statuts de réponse sont bons, mais maintenant nous sommes confrontés à la tâche de vérifier la fonctionnalité du système. Encore une fois - ajoutez simplement de l'eau!
Ici on vérifie l'ajout d'un article au panier:
$payload = [
'product_id'=>'3401',
'count'=>'1'
];
@$cart_id = $i->post_it('http://localhost:7888/api/cart/add',$payload);
if(is_int($cart_id)){
echo "API ... Ok \n";
} else {
echo "API ... FAIL \n";
}
Mettre en évidence les réponses
:
:
echo "API ... \033[32m Ok\033[0m \n";
:
echo "API ... \033[01;31m FAIL\033[0m \n";
Génial, la fonctionnalité est presque vérifiée. Presque? Eh bien, presque tous les systèmes auront une API qui fonctionne avec les fichiers téléchargés par le client. Nous pouvons également tester ceci:
// CURL -
$i = new Exo;
$url = 'https://site.com/api/sameimg';
$payload = [
'data'=>'data'
];
$post_file_name = 'new_img';
$post_file_path = './new_img.jpg';
$test = $i->post_it_file($url,$payload,$post_file_name,$post_file_path);
Ici, le fichier payload + sera envoyé à l'adresse spécifiée par requête POST, comme s'il était ajouté à
input type="file" name="new_img"
C'est tout pour le moment. J'espère que cet outil sera utile, tout d'abord, pour ceux qui ne testent toujours pas leur code.