— Нам нужно быть уверенными что при каждом пуше у нас не сломается вся инфраструктура, сможешь сделать? -Легко!
Знакомьтесь eXo-Test. Небольшой php-cli класс с которым проводить тесты — это действительно просто.

или тут
composer require overvoidjs/exotest:dev-master
<?php include_once 'vendor/autoload.php';
Предположим Вам нужно проверить доступность страниц и валидность контента на нем, например удостовериться что в каталоге есть товары. Нет ничего проще:
<?php include_once 'vendor/autoload.php'; $i = new Exo; $url = 'http://localhost:7888/catalog/instrumentyi/'; $i->is_ok($url, '<div class="product-card-name">');
Теперь просто запустите созданный Вами скрипт из консоли:
php test.php
Вам прилетит отбивка:
1) Успех:

2) Статус ответа 200(Ок), но контент не найден

3) Статус ответа не 200

Статусы ответа это хорошо, но теперь перед нами встает задача проверить функциональность системы. Опять же — просто добавьте воды!
Тут мы проверяем добавление товара в корзину:
$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"; }
echo "API Добавления в корзину ... \033[32m Ok\033[0m \n";
Красным:
echo "API Добавления в корзину ... \033[01;31m FAIL\033[0m \n";
Отлично, функционал почти проверили. Почти? Ну почти у любой системы будет API которое работает с файлами загруженными клиентом. Это мы тоже можем протестировать:
//Тут необходим 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);
Тут по заданному адресу будет отправлена POST запросом полезная нагрузка + файл так же как если бы он был добавлен в
input type="file" name="new_img"
Пока что это все. Надеюсь этот инструмент будет полезен в первую очередь тем — кто до сих пор не тестирует свой код.
ссылка на оригинал статьи https://habr.com/ru/post/515996/
Добавить комментарий