PHPUnit дает мне ошибку, утверждая, что он видит значение в представлении - PullRequest
0 голосов
/ 29 июня 2019

Когда я запускаю функциональный тест, который имеет 2 утверждения (assertSee), PHPUnit распознает только одно (title), а не description, хотя я ясно вижу его в dd() как значение, которое былопередан от контроллера к представлению.

Тест:

/** @test */
    public function a_user_can_view_a_project(){
        $this->withoutExceptionHandling();
        $project = factory('App\Project')->create();
        $this->get('/projects/'.$project->id)->assertSee('title')->assertSee('description');
    }

Ошибка:

Failed asserting that '<!doctype html>\n
<html lang="en">\n
<head>\n
    <meta charset="UTF-8">\n
    <meta name="viewport"\n
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">\n
    <meta http-equiv="X-UA-Compatible" content="ie=edge">\n
    <title>Document</title>\n
</head>\n
<body>\n
    <h3>Fugit molestias explicabo odio quis.</h3>\n
    <p>Quis aut consectetur quisquam a dolores voluptatibus. Quas quos quo iusto beatae sint voluptatem aspernatur. Molestiae repudiandae suscipit non vel. Ea quasi et eveniet.</p>\n
    Quis aut consectetur quisquam a dolores voluptatibus. Quas quos quo iusto beatae sint voluptatem aspernatur. Molestiae repudiandae suscipit non vel. Ea quasi et eveniet.\n
</body>\n
</html>\n
' contains "description".

Абзац - это описание, которое он не может "увидеть".

Дд ():

.
.
.
#attributes: array:5 [▼
    "id" => 1
    "title" => "First Project"
    "description" => "asdsdasdsadsadsadsadsa"
    "created_at" => null
    "updated_at" => null
  ]
.
.
.

1 Ответ

4 голосов
/ 29 июня 2019

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

$response->assertViewHas("project",$project);

метод assertSee() только проверяет, является ли строка, переданная в качестве параметра, подстрокой ответа в виде простого текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...