gpt4 book ai didi

laravel - 如何在 Laravel 单元测试中停止事件伪造(切换事件伪造)

转载 作者:行者123 更新时间:2023-12-03 08:57:24 25 4
gpt4 key购买 nike

我正在开发 Laravel 应用程序并进行单元测试。现在,我在单元测试中遇到了一些关于伪造和非伪造 Laravel 事件的问题。我想做的就是这样的事情。

public function test_something()
{
Event::fake();
//Do somethng
//Then I want to stop faking event here something like this
Event::stopFaking(); //maybe
}

我认为我的代码是不言自明的。我怎样才能在 Laravel 中实现类似的目标?

最佳答案

https://laravel.com/docs/5.7/mocking

If you only want to fake event listeners for a portion of your test, you may use the fakeFor method:

    $order = Event::fakeFor(function () {
$order = factory(Order::class)->create();

Event::assertDispatched(OrderCreated::class);

return $order;
});

// Events are dispatched as normal and observers will run ...
$order->update([...]);

function() {} 内的所有内容都会有伪造的事件。外面的一切都会正常运行。

关于laravel - 如何在 Laravel 单元测试中停止事件伪造(切换事件伪造),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54238338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com