Enlighten тесно интегрирован с системой тестирования Laravel.
По умолчанию каталог тестов приложения содержит два каталога: Feature и Unit.
Feature, функциональное тестирование.
Тесты функций могут тестировать большую часть кода и даже полный HTTP-запрос к конечной точке JSON. Как правило, большинство тестов приложения должны быть функциональными. Эти типы тестов обеспечивают максимальную уверенность в том, что система в целом работает должным образом.
Unit, модульное тестирование.
Модульные тесты - это тесты, которые фокусируются на очень небольшой изолированной части кода. Тесты из каталога «Unit» не загружают приложение Laravel и, следовательно, не могут получить доступ к базе данных вашего приложения или другим службам фреймворка.
Итак, создаём функциональный тест
php artisan make:test AccountTest
После чего в папке tests/Feature
появится файл AccountTest.php
В одном классе тестов может быть несколько функций с тестами, название функции должно начинаться с префикса "test_", например "test_get" или "test_post".
Вносим следующие изменения в файл AccountTest.php:
namespace Tests\Feature; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithFaker; use Tests\TestCase; /** * @description Информация по пользовательскому аккаунту. Модель Account */ class AccountTest extends TestCase { /** * @description Аккаунт авторизованного пользователя * @method get * @return void */ public function test_get() { $response = $this->get('/account?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'); $response->assertStatus(200); } /** * @description Обновление аккаунта пользователя * @method post * @return void */ public function test_post() { $response = $this->post('/account?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'); $response->assertStatus(200); } }
Обратите внимание на PHPdoc-блок @description, который мы прописали для метода и для всего класса. Enlighten будет его использовать для описания группы тестов (@description класса) и функции теста (@description метода).