Как тестировать Laravel?

Поділитися
Вставка
  • Опубліковано 7 гру 2019
  • Тестировать свой проект на базе фреймворка Laravel (и не только) это очень важно, но чтобы делать это правильно и качественно нужно понимать как настраивать окружение таким образом, чтобы тестирование работало корректно, для чего тот или иной вид тестов существует, ну и в конце концов как писать тесты? Об этих и некоторых других вопросах я расскажу в данном видео.
    Официальная документация о тестировании Laravel
    laravel.com/docs/master/testing
    Репозиторий из которого собираются контейнеры с Ларочкой:
    github.com/EvilFreelancer/doc...
    А вот тут уже собранные контейнеры:
    hub.docker.com/r/evilfreelanc...
    Полезные ссылки:
    - Телега: t.me/evilfreelancer
    - Основной канал: / @pavelzloi
    - Live-канал: / @e-freelancerlivechann...
    - Twitch: / evilfreelancer
    - Twitter: / evilfreelancer
    - GitHub: github.com/EvilFreelancer
    Ссылки на Steam:
    - Группа Steam: steamcommunity.com/groups/gam...
    - Рекомендации куратора: store.steampowered.com/curato...
    Сделать пожертвование:
    - www.donationalerts.com/r/evil...
  • Наука та технологія

КОМЕНТАРІ • 45

  • @user-ri8ow3qh7l
    @user-ri8ow3qh7l 2 роки тому +2

    Какой же вы крутой, как вам все легко удается манипулировать с данными, видать опыт у вас большой, а я только начинаю))

  • @GTar1998
    @GTar1998 2 роки тому

    Спасибо за видео. Очень обширно и понятно =)

  • @maksymgrom1631
    @maksymgrom1631 4 роки тому +3

    Интересная тема, добавил в очередь просмотра :) Спасибо

    • @pavelzloi
      @pavelzloi  4 роки тому +1

      Пожалуйста :) Кстати, обратите внимание на UPD видос про тестирование. там я пару моментов уточнил.

  • @NiaGen
    @NiaGen 2 роки тому +3

    Второй день мучаюсь с юнит тестированием... Уже глянул laravel daily, почитал Занстру - ни*уя не понятно! После вашего видео, начал хоть что-то делать, все очень доходчиво и вполне интересно.
    P.S. Вставочки и отступления бесценны, первые 20 минут засыпал как и на всем остальном, но потом включился. Паша - вы такой няша :3

  • @user-xq2ng2cu3d
    @user-xq2ng2cu3d 3 роки тому

    Спасибо Вам!

  • @zolotoyklon2535
    @zolotoyklon2535 3 роки тому

    музыка на заднем плане с ума сводит, а так супер

  • @mainuser7085
    @mainuser7085 4 роки тому +1

    Видосы хорошие. Звук тоже неплохой.

    • @pavelzloi
      @pavelzloi  4 роки тому +1

      Благодарю, вопрос качества звука стоял передо мной очень остро, потому что я очень не люблю слушать, пусть даже очень крутые лекции или блоги, голос которых записан на коленке с кучей шума и искажений. Плюс хороший микрофон и звуковушка стоят не так уж и дорого.
      Но когда есть хороший микрофон возникает новая проблема, а именно нормализация записанного голоса, но это уже вопрос моего перфекционизма :)

  • @learnwithyan
    @learnwithyan 3 місяці тому

    найс!

  • @emsiattax
    @emsiattax 3 роки тому

    Приятно слушать

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый день! Благодарю за комментарий, рад что видеоролик понравился, у меня много подобного материала.
      На данный момент только что закончил цикл Laravel Lighthouse (это такой плагин для создания API сервера на GraphQL), ещё сегодня будет стрим про один OpenSource проект на Laravel в 1800 MSK.
      В дальнейшем есть куча планов и идей ожидающих воплощения, ещё бы времени свободного было бы чуть побольше :)

  • @user-fq4wx7mv2g
    @user-fq4wx7mv2g Рік тому

    спасибо

  • @ryzhakovalexey5037
    @ryzhakovalexey5037 3 роки тому

    спс

  • @user-ei6jg4yi5z
    @user-ei6jg4yi5z 2 роки тому +1

    Спасибо за видео. У меня вопрос. Есть ли смысл на классы test вешать интерфейсы, создавать абстрактные классы , что бы как то структурировать классы? И есть ли смысл делать тесты на структуру бд(название и тип полей)?

  • @user-jb2ci6ec8c
    @user-jb2ci6ec8c 2 роки тому

    20:05 Так вот же $this->call() это и есть этот механизм, можно вкладывать его в другие сидеры и таким образом выстраивать зависимости)

  • @sergeyjacobi
    @sergeyjacobi 3 роки тому

    Глобальные функции, как это весело) на самом деле не стоит так делать хелперы, для этого есть статические методы класса

  • @user-mw1uf8tf7w
    @user-mw1uf8tf7w 2 роки тому

    19:45 "Юзерсы, моя прелесть"))... Простите, я большой фанат Властелина Колец. Очень напомнило как Горлум там говорит "Хоббитсы"))

    • @pavelzloi
      @pavelzloi  2 роки тому +1

      Вы правильно заметили, именно такого эффекта я и хотел добиться :)

  • @TheGlide2k
    @TheGlide2k 3 роки тому +1

    Все хорошо, по делу, но только они не фьюча (future) тесты, а фича (feature) тесты, в смысле интеграционные

  • @compolomus9719
    @compolomus9719 4 роки тому +1

    18:38 целая таблица для двух записей?

    • @pavelzloi
      @pavelzloi  4 роки тому +1

      Ну это пока всего две записи, потом возможно будет больше, основная причина почему целая таблица для всего пару строк так это ссылки и ограничение по внешнему ключу, чтобы записи с неправильным языком в других таблицах, которые на languages ссылаются, нельзя было добавить.

  • @compolomus9719
    @compolomus9719 4 роки тому

    23:07 а разве так же нельзя создать тест через пкм на класс и указать папку?

    • @pavelzloi
      @pavelzloi  4 роки тому +1

      Приветствую! Конечно можно, но только надо будет не забыть указать TestCase ларки в качестве extends у нового теста, если этого не сделать тестировать ларку не получится, потому что ядро приложения не будет инициализироваться как надо и все тесты будут выдавать ошибки.

  • @user-fg9ps9tk6i
    @user-fg9ps9tk6i Рік тому

    На 14:40 автор говорит, что объект будет создан, но не будет занесён в БД. Это не так. Просто после тестирования идёт откат изменений в БД, и этот откат может происходить по разному, в зависимости от трейта, используемого в тесте. См. в документации Трейты тестирования.

  • @user-fj6id3fy9p
    @user-fj6id3fy9p 3 роки тому

    Спасибо! Нууууу..... очень много говоришь, понимаю, что все по теме говоришь, но так все запутано:)

    • @pavelzloi
      @pavelzloi  3 роки тому +3

      Добрый вечер! Благодарю за комментарий, ну что поделать, программирование est non .... canina :)) со стороны кажется что написать тесты дело элементарное, а как начинаешь их сам писать сразу понимаешь, что задача явно не из простых, особенно если есть стремление к максимальному покрытию кода тестами.
      Да и несложно объяснить сложное тоже задачка та ещё, я как уж на сковородке извивался пытаясь максимально просто рассказать про тесты, по видео это хорошо слышно и видно ;)
      UPD. Кстати. вот небольшое дополнение ua-cam.com/video/PNfJagDwX0Q/v-deo.html

  • @damirsarkulin1723
    @damirsarkulin1723 3 роки тому +1

    Нужны таймкоды в описании

    • @pavelzloi
      @pavelzloi  3 роки тому +1

      Добрый день! Благодарю за комментарий, постараюсь учесть Ваше предложение в будущем.

  • @user-dv9fk1hd3s
    @user-dv9fk1hd3s 3 роки тому +2

    14:00 у меня на этом моменте реально пишет в БД

    • @pavelzloi
      @pavelzloi  3 роки тому +2

      Добрый день! Благодарю за комментарий, Вы правы, метод create на самом деле выполняет процедуру записи в базу, просто я забыл в самом начале видео сказать про трейт, который выполняет удаление созданных в процессе выполнения тестов записей. Об этом уточняю в следующем видео ua-cam.com/video/PNfJagDwX0Q/v-deo.html

  • @vadimgoloubev6271
    @vadimgoloubev6271 9 місяців тому

    Сервайс? :))) Сервис, как и по-русски )))

  • @palach_666
    @palach_666 2 роки тому

    То чувство когда постоянно нажимал ctrl + F5 при разработке сайта
    -А что так можно было!?

  • @eaglesm1993
    @eaglesm1993 3 роки тому

    Я так понимаю у тебя не SSD судя по скорости рефреша бд

    • @pavelzloi
      @pavelzloi  3 роки тому

      Всё верно, сижу на SSD дисках уже наверно лет восемь, как только они стали стоить не космических денег перестал покупать жестаки для рабочих машинок.
      Но знаю о то что SSD не такие живучие как жестаки, поэтому все бэкаплю на сервер с рейдом, в случае переустановки системы это сильно выручает.

  • @user-sp8eb8wf2q
    @user-sp8eb8wf2q 4 роки тому +1

    39:00 Если запустить тест в 16:01:(59.6 секунд), то тест не пройдет xD. Но это мелочи

    • @pavelzloi
      @pavelzloi  4 роки тому

      Ой, придираетесь к примеру :) Но согласен, получилось как-то тупо.

    • @user-sp8eb8wf2q
      @user-sp8eb8wf2q 4 роки тому

      Да шучу же я

  • @user-od9gc4cl3e
    @user-od9gc4cl3e 3 роки тому +1

    Лучше юзать trait чтобы подключить специфичные функции в конкретном классе, а не тащить всё на глобальный уровень

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый день! Благодарю за комментарий, Вы правы, так делать лучше, но не всегда удобно :)

  • @rah_emil
    @rah_emil 2 роки тому

    Почему ты злой?)

    • @pavelzloi
      @pavelzloi  2 роки тому +2

      Привет! В качестве псевдонима выбрал себе противоположность одной из самых преобладающих черт моего характера.