< Laravel API

Laravel REST API - Tesztelés

Szerző: Sallai András

Copyright © Sallai András, 2022, 2023

Licenc: 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

<?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

<?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

Két teszt

<?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:

'sqlite_memory' => [ 'driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '' ],

Teszt beállítása

Állítsuk be teszteléshez:

<server name="DB_CONNECTION" value="sqlite_memory"/>

Cache törlése

php artisan config:cache