Laravel 8 任務(wù)模擬

2021-07-09 11:20 更新

作為模擬的替代方式,你可以使用 Bus Facade 的 fake 方法來(lái)防止任務(wù)被真正分發(fā)執(zhí)行。使用 fake 的時(shí)候,斷言一般出現(xiàn)在測(cè)試代碼的后面:

<?php

namespace Tests\Feature;

use App\Jobs\ShipOrder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Support\Facades\Bus;
use Tests\TestCase;

class ExampleTest extends TestCase
{
    public function testOrderShipping()
    {
        Bus::fake();

        // 執(zhí)行訂單發(fā)貨...

        // 斷言已完成特定類(lèi)型的工作,以滿(mǎn)足給定的真實(shí)性測(cè)試...
        Bus::assertDispatched(function (ShipOrder $job) use ($order) {
            return $job->order->id === $order->id;
        });

        // 斷言任務(wù)并未分發(fā)...
        Bus::assertNotDispatched(AnotherJob::class);
    }
} 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)