oktatas:web:laravel:laravel_rest_api:teszteles
Ez a dokumentum egy előző változata!
Tartalomjegyzék
Laravel REST API - Tesztelés
- Szerző: Sallai András
- Copyright © 2022, Sallai András
- Szerkesztve: 2022, 2023, 2025
- 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
- test/Feature/Valami.php
<?php namespace Tests\Feature; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithFaker; use Tests\TestCase; class Valami extends TestCase { /** * A basic feature test example. * * @return void */ public function test_example() { $response = $this->get('/'); $response->assertStatus(200); } }
Javítsuk így
- test/Feature/Valami.php
<?php namespace Tests\Feature; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithFaker; use Tests\TestCase; class Valami extends TestCase { /** * A basic feature test example. * * @return void */ public function test_example() { $response = $this->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
- tests/Feature/EmployeeTest.php
<?php namespace Tests\Feature; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithFaker; use Tests\TestCase; class EmployeeTest extends TestCase { /** * A basic feature test example. * * @return void */ public function test_getemps() { $response = $this->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:
- config/database.php
'sqlite_memory' => [ 'driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '' ],
Teszt beállítása
Állítsuk be teszteléshez:
- phpunit.xml
<server name="DB_CONNECTION" value="sqlite_memory"/>
Cache törlése
php artisan config:cache
Tesztek csoportosítása
Adjuk hozzá csoportot:
/**
* @group eredeti
*/
A teljes kód:
- ExampleTest.php
<?php namespace Tests\Feature; // use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; /** * @group exclude */ class ExampleTest extends TestCase { /** * A basic test example. * @group eredeti */ public function test_the_application_returns_a_successful_response(): void { $response = $this->get('/'); $response->assertStatus(200); } }
Futtatás kizárással:
./vendor/bin/phpunit --exclude-group eredeti
oktatas/web/laravel/laravel_rest_api/teszteles.1755956820.txt.gz · Utolsó módosítás: 2025/08/23 15:47 szerkesztette: admin