Событие наблюдателя модели Assert laravel, запущенное в PHPUnit

Я собираюсь написать несколько тестов для моих методов контроллера laravel 7 (конечных точек), чтобы убедиться, что они запускают событие наблюдателя модели (например, событие saved в модели Product) поскольку вы теперь моделируете события наблюдателя, не срабатывают при использовании массового обновления, и, возможно, мои товарищи по команде используют массовое обновление (по ошибке), тогда любое событие не срабатывает и нарушает оставшиеся процессы Таким образом, с помощью этих тестов я могу быть уверен, что все части, которые полагаются на события наблюдателя модели, в настоящее время работают.

В документ тестирования laravel упоминается, что если вы хотите подтвердить, что событие было отправлено, используйте этот код (например):

public function testOrderShipping()
{
    Event::fake();

    $order = factory(Order::class)->create();
    // Assert an event was dispatched
    Event::assertDispatched(OrderCreated::class);
}

Можно ли утверждать, что событие наблюдателя модели тоже было запущено (отправлено)?

Насколько мне известно, Laravel регистрирует события только для наблюдателя, он не может определить, от какого наблюдателя они происходят.

jrcamatog 03.04.2021 19:07

I считать имя события, которое вы должны утверждать, было запущено - "eloquent.created: App\Models\Order",

IGP 03.04.2021 19:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
22
0

Другие вопросы по теме