Тесты в проектах Laravel. Часть 2. Практика

Итак, продолжение темы тестов в проектах Laravel. В первом уроке мы изучили теорию, теперь переходим к практике! Научимся создавать и запускать простые тесты. Ссылка на первый урок: #тесты#laravel#cutcode --------------------------------------------------------------------------------- ❗️❗️❗️Поддерживайте канал, оформите доступ на моём проекте cutcode! Это очень модно - 🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - --------------------------------------------------------------------------------- ⏰ Таймкоды: 00:00 Введение 00:31 Создание простого теста 02:33 Запуск теста 03:40 Как правильно называть тесты 05:07 HTTP тестирование 07:56 Методы AssertStatus, AssertOK, AssertEquals Всех поклонников Laravel я приветствую на канале Cutcode! Мы продолжаем с вами гайд по написанию тестов в laravel и приступаем к их созданию и изучению. Напоминаю что это вторая часть. Теорию настройки мы прошли в 1 обязательно начните просмотр с первой части, ну а потом жду вас здесь! Для всех остальных давайте начинать - погнали! А начнём мы с artisan команды которая создает тесты и команда которая их запускает. Здесь все просто и в привычной нам манере. Для создания это PHP artisan make test и далее название класса с тестами. Напоминаю что в первом уроке мы ознакомились настройками и знаем что тесты располагаются в указанных директориях, а классы должны иметь суффикс , чтобы подхват в этих автоматически. Давайте так и поступим! Так как мы новички и только изучаем тесты, то и начнем с простых задач. У нас есть главная страница - это у нас пост контроллер на котором выводятся статьи с пагинацией. Она у нас простейшая и ее мы будем тестировать на отсутствие проблем и охватим первую тему документации Laravel - http тесты. Вернемся к названиям и пропишем название нашего тест класса - HomePageTest. Отлично тест создан! Давайте посмотрим - вот он у нас появился в директории tests/future. Давайте сразу рассмотрим несколько опций при создании тестов. Вернемся и добавим сюда опцию unit, тем самым мы создадим тесты, но в директории unit, то есть это уже будут юнит-тесты, о которых мы говорили с вами ранее. Давайте попробуем чтобы убедиться что все у нас получается. И есть еще одна интересная опция, а именно pest, которая создает pest тесты это немного другой подход к тестированию, о них мы тоже поговорим в этом гайде, но немного позже. Итак друзья, файл создан давайте взглянем на него и запустим тест. Вот сам класс с тестами, здесь всего один метод для тестирования, он проверяет ту самую главную страницу, где у нас статьи с пагинацией, чтобы ответ был 200 то есть страница у нас работает, на ней нет никаких ошибок. Для запуска тестов необходимо выполнить команду php artisan test - все просто. Выполняем и видим, что у нас все тесты пройдены, включая нашего HomePageTest. Давайте удалим лишнее экзампла тесты которые у нас шли с laravel по умолчанию, чтобы они нам не мешали. OK еще раз выполним и видим что у нас есть всего один тест класс это homePage, он у нас пройден, он у нас зелёный и тестов в нем выполнилась всего один. Как раз этот тестовый метод. Да кстати хочу сказать что здесь в этом классе у нас все как и везде, то есть принципы solid никуда не деваются. Класс имеет одну ответственность как и каждый его метод. Что касается наименования методов, то они должны начинаться со слова тест как здесь в примере. Если у нас это условие не будет выполнено давайте посмотрим - оставим просто example и запустим тесты, то мы увидим что у нас в классе home page нет ни одного тест метода. Давайте вернем тест не обязательно с нижним подчёркиванием - можно и в такой манере, после чего уже все будет работать и тесты будут подхватываться. --------------------------------------------------------------------------------- 📹 делитесь этим видео с друзьями: 🔔 подпишитесь на YouTube-канал: 📼 Курс по Laravel с нуля: Тесты в проектах Laravel. Часть 2. Практика --------------------------------------------------------------------------------- 🔗 наш сайт: 📷 наш instagram: 📱 Наш telegram-канал:
Back to Top