Что выведет консоль

Файл не выполнится из-за синтаксических ошибок: после create() и assertNotFound() стоят двоеточия вместо точек с запятой. Поэтому обычного результата тестов ещё не будет.

Короткий ответ

Что ответить на собеседовании

Файл не выполнится из-за синтаксических ошибок: после create() и assertNotFound() стоят двоеточия вместо точек с запятой. Поэтому обычного результата тестов ещё не будет.

Подробный разбор

Ответ с пояснениями

Условие

Что будет выведено в результате выполнения программы

<?php

namespace Tests\Feature\Http\Controllers;

use App\Models\User;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Tests\ControllerTestCase;

class UseControllerTest extends ControllerTestCase{

    public function testShow() : void
    {
        $this -> actingAs($this->user);

        $responce = $this -> get(route('users.show', $this->user));

        $response->assertOk()
                ->assertSee($this ->user -> name);
    }

    public function testVisitByOtherUser(): void {

        $visitor = User::factory()->create():
        $this->actingAs($visitors);

        $response = $this -> get(route('users.show', $this->user));

        $response->assertOk()
                ->assertSee($this ->user -> name);

    }


    public function testVisitByGuest() : void{

        $response = $this -> get(route('users.show', $this->user));

        $response->assertOk()
                ->assertSee($this ->user -> name);
    }

    public function testInvalidShow(): void {

        $this -> expectException(NotFoundHttpException::class);
        $response = $this->get(route('user.show', ['user' => 'foo']));
        $response ->assertNotFound():
    }
}

Ответ

Файл не выполнится из-за синтаксических ошибок: после create() и assertNotFound() стоят двоеточия вместо точек с запятой. Поэтому обычного результата тестов ещё не будет.

После исправления синтаксиса остаются опечатки $responce/$response и $visitor/$visitors, а также разные имена маршрута users.show и user.show. Ожидания для гостя и другого пользователя должны соответствовать реальной политике доступа, а не всегда assertOk. В Laravel-тесте обычно проверяют HTTP 404 через assertNotFound; ожидать исходное исключение следует при осознанном отключении exception handling. Условия создания $this->user также должны быть заданы в setup.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее