Метод assertViewHas
Метод assertViewHas применяется к объекту ответа
для проверки, что представление содержит указанную
переменную с заданным значением. Первым параметром
передается имя переменной, вторым - ожидаемое значение.
Если второй параметр опущен, проверяется только наличие
переменной в представлении.
Синтаксис
<?php
$this->get('/url')->assertViewHas($key, $value);
?>
Пример
Проверим, что представление содержит переменную
'posts' с массивом записей:
<?php
namespace Tests\Feature;
use Tests\TestCase;
use App\Models\Post;
class PostTest extends TestCase
{
public function test_index_contains_posts()
{
$res = $this->get('/posts');
$res->assertViewHas('posts');
}
}
?>
Пример
Проверим, что представление содержит переменную
'category' со значением 'articles':
<?php
namespace Tests\Feature;
use Tests\TestCase;
class CategoryTest extends TestCase
{
public function test_category_page_has_articles_category()
{
$res = $this->get('/category/articles');
$res->assertViewHas('category', 'articles');
}
}
?>
Пример
Проверим, что представление содержит переменную
'users' с массивом из пяти элементов:
<?php
namespace Tests\Feature;
use Tests\TestCase;
class UserTest extends TestCase
{
public function test_users_list_has_five_users()
{
$res = $this->get('/users');
$res->assertViewHas('users', function ($users) {
return $users->count() === 5;
});
}
}
?>
Результат выполнения кода:
"Test passed: users list contains 5 users"
Смотрите также
-
метод
assertViewIs,
который проверяет имя представления -
метод
get,
который выполняет GET-запрос в тестах -
класс
TestCase,
базовый класс для всех тестов в Laravel -
метод
assertSessionHas,
который проверяет данные в сессии