Laravel вводить нові тестові допоміжні функції для контролю виконання відкладених операцій, що дозволяє розробникам тестувати відкладені функції без необхідності дочекатися завершення життєвого циклу запиту.
Контролюйте відкладене виконання у своїх тестах:
// Відкладені операції не виконуються одразу
Product::create(['name' => 'Widget']);
$this->assertAgainstSomeDeferredOutcome(); // ❌ Невдача
// Відкладені операції виконуються одразу
$this->withoutDefer();
Product::create(['name' => 'Widget']);
$this->assertAgainstSomeDeferredOutcome(); // ✅ Успішно
Ось як це можна використовувати у вашому наборі тестів:
class OrderProcessingTest extends TestCase
{
public function test_confirmation_email_is_queued_after_order()
{
Mail::fake();
$this->withoutDefer();
$order = Order::create([
'customer_id' => 123,
'total' => 99.99,
'status' => 'pending'
]);
Mail::assertQueued(OrderConfirmationEmail::class, function ($mail) use ($order) {
return $mail->hasTo($order->customer->email);
});
}
public function test_inventory_tracking_is_updated()
{
Event::fake();
$this->withoutDefer();
$product = Product::factory()->create();
$product->adjustStock(-5);
Event::assertDispatched(InventoryAdjusted::class, function ($event) use ($product) {
return $event->product_id === $product->id;
});
$this->withDefer();
}
}
Ці допоміжні функції полегшують тестування коду, який залежить від відкладеного виконання, без необхідності дочекатися завершення життєвого циклу запиту
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту