AssertJson и assertSee показывают вызов ошибки нулевого члена

Я пытаюсь разработать тест для своих API,

Это мой код:

public function testFirstAPI()
    {
        $user = \User::find(1);
        $r = $this
            ->actingAs($user)
            ->json('put', route('updateUser'),['lock' => 'true']);
        $r->assertResponseStatus(200)->seeJson(['success' => true]);
    }

этот тест будет работать, и когда я использую $r->dump(), я могу найти success в ответе.

но я не знаю, почему seeJson показывает эту ошибку:

Symfony\Component\Debug\Exception\FatalErrorException]
  Call to a member function assertJson() on null
Стоит ли изучать 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
0
253
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это связано с тем, что вы сначала связываете assertResponseStatus(), и он не возвращает объект беглый.

Решением было бы поставить его последним утверждением в цепочке:

public function testFirstAPI()
{
    $user = \User::find(1);

    $this->actingAs($user)
        ->json('put', route('updateUser'), ['lock' => 'true'])
        ->seeJson(['success' => true])
        ->assertResponseStatus(200)
}

Спасибо, у меня действительно была головная боль от этой проблемы

MajAfy 30.01.2019 12:44

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