- Necesitamos estar seguros de que con cada empuje nuestra infraestructura no se rompa, ¿puedes hacerlo? -¡Fácil!
Conoce eXo-Test. Una pequeña clase php-cli con la que ejecutar pruebas es realmente fácil.
Instalación
puedes leerlo en GitHub
o aquí
o aquí
composer require overvoidjs/exotest:dev-master
<?php
include_once 'vendor/autoload.php';
Digamos que necesita verificar la disponibilidad de páginas y la validez del contenido en ellas, por ejemplo, asegúrese de que haya productos en el catálogo. Nada podría ser más fácil:
<?php
include_once 'vendor/autoload.php';
$i = new Exo;
$url = 'http://localhost:7888/catalog/instrumentyi/';
$i->is_ok($url, '<div class="product-card-name">');
Ahora simplemente ejecute el script que creó desde la consola:
php test.php
Recibirá un flip:
1) Éxito:
2) El estado de respuesta es 200 (Ok), pero no se encontró el contenido
3) El estado de respuesta no es 200 Los
estados de respuesta son buenos, pero ahora nos enfrentamos a la tarea de verificar la funcionalidad del sistema. Nuevamente, ¡solo agrega agua!
Aquí verificamos la adición de un artículo al carrito:
$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";
}
Resaltando respuestas
Verde:
Rojo:
echo "API ... \033[32m Ok\033[0m \n";
Rojo:
echo "API ... \033[01;31m FAIL\033[0m \n";
Genial, la funcionalidad está casi comprobada. ¿Casi? Bueno, casi cualquier sistema tendrá una API que funcione con archivos cargados por el cliente. También podemos probar esto:
// 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);
Aquí, el archivo payload + se enviará a la dirección especificada por solicitud POST, como si se hubiera agregado a
input type="file" name="new_img"
Eso es todo por ahora. Espero que esta herramienta sea de utilidad, en primer lugar, para quienes aún no prueban su código.