Файл не выполнится из-за синтаксических ошибок: после 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.