Тестирование является обходимой частью процесса программирования. Потому разработчик сам должен заботиться о том, чтобы провести своевременные тесты и выявить возможные грубые ошибки и баги в ходе проектирования. В Laravel различают Unit-тесты и Feature-тесты. Они нужны для того, чтобы делать хотя бы основу оценки работоспособности проекта. Заказчик и разработчик экономит кучу времени, если в проекте присутствуют часы работы выделенные на тестирование.
Итак, в данном примере, покажу, как выполнить простые тесты для оценки приложения. В этом примере мы создадим сидер и затем вызовем его в тесте.
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'),
],
// Добавьте больше пользователей по необходимости
]);
}
}
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.