Тестування продуктивності Laravel за допомогою VoltTest PHP

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 02 липня, 2025
Хочете перевірити продуктивність вашого Laravel-додатку? Ознайомтеся з пакетом Laravel Performance Testing, який спрощує створення та виконання навантажувальних тестів, забезпечуючи автоматичне виявлення маршрутів і детальну звітність

Пакет Laravel Performance Testing дозволяє оцінити продуктивність вашого застосунку з використанням VoltTest PHP SDK. Легко створюйте та запускайте навантажувальні тести для своїх Laravel-додатків з вбудованою функцією виявлення маршрутів, обробкою CSRF, докладною звітністю та іншими можливостями.

Завдяки цьому Laravel-пакету ви швидко ознайомитеся з Volt-Test, без труднощів генеруватимете тестові файли та розпочнете стрес-тестування свого додатку:

namespace App\VoltTests;

use VoltTest\Laravel\Contracts\VoltTestCase;
use VoltTest\Laravel\VoltTestManager;

class ApiTest implements VoltTestCase
{
    public function define(VoltTestManager $manager): void
    {
        $scenario = $manager->scenario('API Performance Test');

        // Логін для отримання токена
        $scenario->step('API Login')
            ->post('/api/login', [
                'email' => 'test@example.com',
                'password' => 'password',
            ])
            ->header('Accept', 'application/json')
            ->expectStatus(200)
            ->extractJson('auth_token', 'meta.token');
        
        // Отримання даних користувача
        $scenario->step('Get User Data')
            ->get('/api/user')
            ->header('Authorization', 'Bearer ${auth_token}')
            ->header('Accept', 'application/json')
            ->expectStatus(200)
            ->extractJson('user_id', 'data.id');

        // Оновлення даних користувача
        $scenario->step('Update User')
            ->put('/api/user/${user_id}', [
                'name' => 'Updated Name',
                'email' => 'updated@example.com',
            ])
            ->header('Authorization', 'Bearer ${auth_token}')
            ->header('Content-Type', 'application/json')
            ->expectStatus(200);
    }
}

Цей Laravel-пакет побудований на основі Volt-Test PHP, пропонуючи зручності для Laravel, такі як інтерфейс командного рядка (CLI) для швидкого створення тестів на основі маршрутів та інших критеріїв:

php artisan volttest:make ApiTest --routes --filter="api/*"

# Інтерактивний вибір маршрутів
php artisan volttest:make ApiTest --routes --select --filter="api/*"

# Включити лише аутентифіковані маршрути
php artisan volttest:make ApiTest --routes --auth

# Основні можливості

# Додаткова інформація