Команда make:test
Команда make:test создаёт новый тестовый класс в директории tests. По умолчанию тесты создаются в папке Unit для модульных тестов. Для создания тестов в папке Feature используется флаг --feature. Команда автоматически генерирует базовую структуру класса с методом test_example.
Синтаксис
php artisan make:test $name
php artisan make:test $name --unit
php artisan make:test $name --feature
Пример
Давайте создадим модульный тест для модели User:
<?php
namespace Tests\Unit;
use PHPUnit\Framework\TestCase;
class UserTest extends TestCase
{
public function test_example(): void
{
$this->assertTrue(true);
}
}
?>
Результат выполнения команды:
"Test created successfully."
Пример
Давайте создадим функциональный тест для проверки страницы /users с использованием флага --feature:
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class UserControllerTest extends TestCase
{
use RefreshDatabase;
public function test_example(): void
{
$response = $this->get('/users');
$response->assertStatus(200);
}
}
?>
Результат выполнения команды:
"Test created successfully."
Пример
Давайте создадим тест с указанием конкретного пути через аргумент. Если передать путь с вложенными папками, Laravel создаст соответствующую структуру:
<?php
namespace Tests\Unit\Services;
use PHPUnit\Framework\TestCase;
class UserServiceTest extends TestCase
{
public function test_example(): void
{
$this->assertTrue(true);
}
}
?>
Результат выполнения команды:
"Test created successfully."
Смотрите также
-
команда
test,
которая запускает все тесты в проекте -
команда
make:model,
которая создаёт новую модель Eloquent -
команда
make:controller,
которая создаёт новый контроллер -
команда
make:factory,
которая создаёт фабрику для генерации данных