ООО "Солнечный Ветер" Ларионов Андрей Николаевич
Создатель проекта: ООО "Солнечный Ветер" Ларионов Андрей Николаевич
Тестирование на Laravel

Тестирование на Laravel


Автор: admin Дата: 2025-01-05 12:05:48

Тестирование является обходимой частью процесса программирования. Потому разработчик сам должен заботиться о том, чтобы провести своевременные тесты и выявить возможные грубые ошибки и баги в ходе проектирования. В Laravel различают Unit-тесты и Feature-тесты. Они нужны для того, чтобы делать хотя бы основу оценки работоспособности проекта. Заказчик и разработчик экономит кучу времени, если в проекте присутствуют часы работы выделенные на тестирование.

Итак, в данном примере, покажу, как выполнить простые тесты для оценки приложения. В этом примере мы создадим сидер и затем вызовем его в тесте.

Шаг 1: Создание сидера
Bash
	php artisan make:seeder UsersTableSeeder

Затем откройте файл database/seeders/UsersTableSeeder.php и добавьте код для наполнения таблицы:

php

	

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        DB::table('users')->insert([
            [
                'name' => 'User One',
                'email' => 'userone@example.com',
                'password' => bcrypt('password'),
            ],
            [
                'name' => 'User Two',
                'email' => 'usertwo@example.com',
                'password' => bcrypt('password'),
            ],
            // Добавьте больше пользователей по необходимости
        ]);
    }
}
Шаг 2: Создание теста
Теперь создайте тест, который будет использовать этот сидер. Выполните команду:
Bash
	php artisan make:test UserSeederTest

Откройте файл tests/Feature/UserSeederTest.php и добавьте следующий код:

php

	

namespace Tests\Feature;

use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;

class UserSeederTest extends TestCase
{
    use RefreshDatabase;

    public function test_users_are_seeded()
    {
        // Запускаем сидер
        $this->seed(\Database\Seeders\UsersTableSeeder::class);

        // Проверяем, что пользователи были добавлены
        $this->assertDatabaseCount('users', 2); // Измените число в зависимости от количества добавленных пользователей

        $this->assertDatabaseHas('users', [
            'email' => 'userone@example.com',
        ]);

        $this->assertDatabaseHas('users', [
            'email' => 'usertwo@example.com',
        ]);
    }
}
Объяснение
  • СидерUsersTableSeeder заполняет таблицу users двумя пользователями.
  • ТестUserSeederTest использует метод seed для запуска сидера и проверяет, что пользователи были успешно добавлены в базу данных.

Теперь Вы можете запустить тесты с помощью команды:

Bash

	php artisan test

Это обеспечит, что Ваши сидеры работают корректно и данные добавляются в таблицу users.

Если вы считаете текст данного блога оскорбительным или некорректным, напишите об этом по адресу IntegralAL@mail.ru с URL-адресом блога. В теме письма пишите <Жалоба>, либо <Неккоректно>.

Теги блога:

Laravel
Web-программирование
php
Назад к блогам