[[oktatas:web:laravel:laravel_rest_api|< Laravel API]]
====== Laravel REST API - Tesztelés ======
* **Szerző:** Sallai András
* Copyright (c) 2022, Sallai András
* Szerkesztve: 2022, 2023, 2025
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Teszt generálása =====
Teszteket a következő paranccsal generálhatunk:
php artisan make:test ValamiTest
A teszt neve után a végződés kötelezően Test.
===== Létrejön =====
get('/');
$response->assertStatus(200);
}
}
Javítsuk így
get('/api/employees');
$response->assertStatus(200);
}
}
A tesztfüggvények neve tetszőleges, de a test szóval kell kezdődnie.
===== Futtatás =====
A teszt futtatása:
php artisan test
Vagy:
./vendor/bin/phpunit
==== Ha nem működik ====
php artisan config:clear
php artisan cache:clear
php artisan config:cache
==== Konfiguráció ====
A teszteket a phpunit.xml fájlban konfigurálhatjuk.
Csak adott teszt futtatása:
php artisan test --filter=EmpTest
===== Két teszt =====
get('/api/employees');
$response->assertStatus(200);
}
public function test_addemp() {
$response = $this->post('/api/employees', [
'name' => 'Arany Ede',
'city' => 'Miskolc',
'salary' => 655
]);
$response->assertStatus(201);
}
}
===== Adatbázis memóriában =====
==== Kapcsolat ====
Vegyünk fel egy kapcsolat típust:
'sqlite_memory' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => ''
],
==== Teszt beállítása ====
Állítsuk be teszteléshez:
=== Cache törlése ===
php artisan config:cache
===== Tesztek csoportosítása =====
Adjuk hozzá csoportot:
/**
* @group eredeti
*/
A teljes kód:
get('/');
$response->assertStatus(200);
}
}
Futtatás kizárással:
./vendor/bin/phpunit --exclude-group eredeti