Публикации - Enlighten - документация для Laravel

Создание тестов

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 метода).

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться