Пакет для тестових асерцій у Laravel

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 12 квітня, 2025
Ви вже знайомі з пакетом "Test Assertions" для Laravel? Досліджуйте потужні засоби тестування, які допоможуть вам створити надійні додатки за допомогою простих асерцій і методів перевірки. Читайте далі, щоб дізнатися, як ефективно використовувати цей пакет у своїх проектах
Пакет Test Assertions для Laravel, створений Джейсоном Маккрері Jason McCreary, містить корисні твердження для тестування додатків на Laravel. Цей пакет надає трейти з корисними твердженнями, методами-сопоставниками Laravel та загальними допоміжними функціями для тестів:
use JMac\Testing\Traits\AdditionalAssertions;
 
// Твердження трейту
$this->assertActionUsesFormRequest(string $controller, string $method, string $form_request);
$this->assertActionUsesMiddleware(string $controller, string $method, string|array $middleware);
$this->assertRouteUsesFormRequest(string $routeName, string $formRequest);
$this->assertRouteUsesMiddleware(string $routeName, array $middlewares, bool $exact);
$this->assertValidationRules(array $expected, array $actual);
$this->assertExactValidationRules(array $expected, array $actual);
$this->assertValidationRuleContains($rule, string $class);
$this->assertViewHasNull($key);
$this->createFormRequest(string $class, array $data = []);
Автор поділився прикладом використання допоміжної функції freezeNow() у тесті для "заморозки" часу та проведення перевірок.
// Час
$package = Package::factory()->create();
$slug = $this->faker()->slug(2);
 
$this->freezeNow();
 
// Зміни...
$package->slug = $slug;
$package->save();
 
// Перевірка тепер
$package->refresh();
$this->assertNow($package->updated_at);
На завершення, ось кілька матчів, які можна використати для визначення, чи є змінна екземпляром Model, Collection або Eloquent Collection:
use JMac\Testing\LaravelMatchers;
 
// Матчери
LaravelMatchers::isModel(Model $model = null);
LaravelMatchers::isCollection(Collection $collection = null);
LaravelMatchers::isEloquentCollection(Collection $collection = null);
Більше інформації про цей пакет, інструкції з установки та код джерела можна знайти на GitHub.

Популярні

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

Logomark Logotype

Claude Agent тепер інтегрований в AI Assistant для PhpStorm

Ви коли-небудь задумувалися, як полегшити свою роботу в Laravel? У нашій статті ми розглядаємо, як інтеграція Claude Code в PhpStorm може підвищити вашу продуктивність, спростивши процес написання коду та навчання нових розробників. Читайте далі, щоб дізнатися більше про переваги та функціональність цього потужного поєднання

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення