Тестирование JavaScript от А до Я (Jest, React Testing Library, e2e, screenshot)

Поділитися
Вставка
  • Опубліковано 20 тра 2024
  • В этом ролике мы научимся тестировать JS приложения. Ознакомимся с JEST и научимся писать UNIT тесты. С помощью React testing library и jest научимся писать интеграционные тесты на react приложения в связке с react router dom и redux. Используя WebdriverIO научимся писать e2e тесты в реакт приложении. Также с помощью storybook и loki js научимся делать регрессионное тестирование UI части приложения.
    Мой курс "Продвинутый Frontend. В production на React" - ulbitv.ru/frontend
    Мой канал в telegram и канал для общения подписчиков - t.me/ulbi_tv
    Весь исходный код из ролика здесь - t.me/ulbi_tv/64
    Таймкоды:
    00:00 ➝ Введение. Теория. Пирамида тестирования. Квадрат допустимых значений
    12:00 ➝ Практика. unit тесты с JEST
    27:40 ➝ Юнит тестирование асинхронных функций. Мокаем данные. Snapshots
    37:00 ➝ Тестирование React приложений. React Testing library
    42:50 ➝ findBy, getBy, queryBy. Пример с useEffect. Асинхронный код
    49:00 ➝ Тестирование событий. onClick, onChange, onInput. FireEvent, userEvent
    54:40 ➝ Тестирование компонента с асинхронной загрузкой данных с сервера
    58:40 ➝ Интеграционное тестирование в связке с react router dom v6
    01:07:20 ➝ Хелпер для удобного тестирования роутинга
    01:12:10 ➝ Интеграционное тестирование в связке с Redux toolkit
    01:16:00 ➝ Тестируем селектор
    01:22:00 ➝ Хелпер для удобного тестирования компонентов, в которых используется Redux
    01:25:00 ➝ e2e тесты с WebdriverIO
    01:33:00 ➝ PageObject паттерн
    01:38:15 ➝ Пример е2е теста с асинхронным кодом
    01:44:45 ➝ Скриншотные тесты storybook и loki js
    01:53:00 ➝ Ставим лайки и пишем комменты, всем спасибо)
    Поддержать меня и мой канал вы можете по ссылкам ниже.
    Patreon/boosty (доступ к бонусам) - boosty.to/ulbitv
    Qiwi кошелек - qiwi.com/n/BODYE821
    Яндекс деньги - yoomoney.ru/to/4100116193037469
  • Наука та технологія

КОМЕНТАРІ • 651

  • @varanakonda
    @varanakonda 2 роки тому +14

    давайте лайкнем и прокомментируем этот видос чтобы в мире стало больше чистого кода покрытого тестами

  • @KolomeetsAV
    @KolomeetsAV Місяць тому +1

    Очень полезный контент! Спасибо автору за систематизированную подачу контента и за полноценный обзор современных решений для тестирования!

  • @ijaggerstube
    @ijaggerstube Рік тому +3

    Товарищи, если кто смотрит в 2023. Loki давно не обновлялся и сейчас не работает с последней 7 версией Storybook. Я перепробовал разныe инструменты для регрессивного тестирования UI (reg-viz suite, visviz, lost pixel). В итоге остановился на Chromatic - это родной инструмент от Storybook. Легко настраивается и отлично интегрируется с GitHub actions, и storycap даже не нужен. К тому же есть бесплатный план, если не пользуешься профессионально. Рекомендую всем.

  • @onufrienko.a476
    @onufrienko.a476 2 роки тому +8

    Боже, храните Ulbi за такой классный контент!!!

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

    Как во время! Большое спасибо! Написал комент, потом пошел смотреть)))

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

    Благодаря Тимуру многому научился. Перед тем как сделать Cloud Disk самостоятельно и окончательно разобраться во всем, прошел другие необходимые курсы на этом замечательном канале. И вот финишная прямая - Деплой, и что товарищи я получаю от Heroku при регистрации - следующий ответ: We do not accept sign-ups from your country.
    Все знают с чем это связано на сегодняшнюю дату. Такова жизнь, блин...

  • @kostal1979
    @kostal1979 Рік тому +3

    У кого проблема "Cannot use import statement outside a module" при запуске теста на 58 минуте, то попробуйте в package.json добавить
    "jest": {
    "transformIgnorePatterns": ["node_modules/(?!axios)/"]
    }

  • @alik64
    @alik64 2 роки тому +4

    Поехали !!! 🚀🚀🚀 Jest, React Testing Library, e2e, screenshot

  • @tevi6667
    @tevi6667 2 роки тому +6

    ты четкий, рад что нашел твой ютуб канал.

  • @Evgeny..
    @Evgeny.. 2 роки тому +18

    Js, JavaScript, test, тестирование. Тимур! Спасибо тебе огромное, ты лучший. Всех благ тебе!

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

    2 часа годного контента

  • @yuryitikhonoff9631
    @yuryitikhonoff9631 2 роки тому +12

    Да это просто огонь! Респект за системную инфу. Эй, Ютуб. Давай в топ советам всем кодерам!

  • @Seacrest.
    @Seacrest. 2 роки тому +4

    Новые вкусняхи от Тимура

  • @Evgeny..
    @Evgeny.. 2 роки тому +5

    Сначала лайк и комментарии!

  • @graves3799
    @graves3799 2 роки тому +5

    Конкретно сегодня решил закрыть все пробелы по этой теме. И тут на. Ну спасибо, бро 👍

  • @lvan_lvanov
    @lvan_lvanov 8 місяців тому +2

    Для тех кто будет это делать во второй половине 23 года - зайдите на репозиторий Тимура и перед началом установите все в точности такие же зависимости и девЗависимости, и всё будет чётко
    Главное не путайтесь с импортами, объявлением переменных, функций, потому что если делать как на видео, и не использовать ТС, то будут ошибки какие-нибудь из-за невнимательности и так далее
    Всем удачи, видео очень полезное, но для его освоения нужен не один день!

  • @itpro952
    @itpro952 2 роки тому +6

    Очередной альманах, но в этот раз уже по тестированию, кто согласен что формат фундаментальных курсов от а до я топ ставьте лайк

  • @brucewayne_007
    @brucewayne_007 2 роки тому +8

    Вчера на собесе про тесты спрашивали, Тимур как всегда вовремя)

  • @xqz666
    @xqz666 2 роки тому +13

    Ты и Михаил непомнящий лучшие

  • @sergsergey4251
    @sergsergey4251 2 роки тому +5

    Огонь, топ контент - в топ поиска)))

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

    Недавно искал ролик на канале по тестированию. И вот он.

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

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

  • @programming5944
    @programming5944 2 роки тому +5

    Тестирование JavaScript от А до Я (Jest, React Testing Library, e2e, screenshot) Тестирование JavaScript от А до Я (Jest, React Testing Library, e2e, screenshot) react redux react router dom v6 jest webdriver e2e storybook tests js

  • @AZErste
    @AZErste 2 роки тому +4

    Господи, автор просто читает мысли, в кои то веки нехотя решил наконец тестами заняться, а тут контент) лол с тайпскриптом и редаксом так же было)

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

    Пишу респект коммент)))

  • @adam-front
    @adam-front 2 роки тому +5

    Лайк поставил, ночью посмотрю

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

    Коммент в поддержку продвижения

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

    Тесты - тема, до которой так и не доходят руки. Думаю что вот именной сейчас настает время изучить эту тему с помощью видео замечательного от замечательного автора)

    • @ne4to777
      @ne4to777 Рік тому

      Ничего, начнешь программировать, сразу тесты заставят писать)

    • @jestemzbiaorusi8379
      @jestemzbiaorusi8379 Рік тому +15

      @@ne4to777 ой не факт, часто встречаются репы без тестов, особенно фронтовые

    • @user-md7px6he6c
      @user-md7px6he6c 10 місяців тому +1

      @@ne4to777 Никто не заставит, я бы сказал начнешь прОграммировать - потеряешься в бесконечных митингах через 10 лет, где и по прОграммировать тебе не дадут, это реальнее )

    • @user-do8kg9fj1u
      @user-do8kg9fj1u 3 місяці тому

      я пришел к тестам так: нагрузка не равномерная на проекте и пока нет задач что бы от меня все отстали, я сказал я пишу тесты)

  • @Evgeny..
    @Evgeny.. 2 роки тому +14

    В этом ролике мы научимся тестировать JS приложения. Ознакомимся с JEST и научимся писать UNIT тесты. С помощью React testing library и jest научимся писать интеграционные тесты на react приложения в связке с react router dom и redux. Используя WebdriverIO научимся писать e2e тесты в реакт приложении. Также с помощью storybook и loki js научимся делать регрессионное тестирование UI части приложения
    .------
    Для продвижения

  • @adelinaromanova8353
    @adelinaromanova8353 2 роки тому +12

    То что нужно !!!! Как раз изучаем это!!! Спасибо, помог!

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

    Коммент для продвижения на ютюбе

  • @daddy7847
    @daddy7847 2 роки тому +7

    Только задался вопросом и начал искать про это инфу, это видео просто подарок!

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

    Просто шикарно - в интернете крайне сложно найти хорошую информацию про тестирование, а тут все структурировано в одном видео. Большое спасибо!

  • @demetrx7972
    @demetrx7972 Рік тому

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

  • @skysar
    @skysar 2 роки тому +22

    Вот это просто бомба! Тестирование - это самая обделённая вниманием тема на ютубе, по моему мнению. Спасибо, Тимур!

  • @danevgen
    @danevgen 2 роки тому +5

    Сильно ждал тесты. СПАСИБО огромное!

  • @kamenskiy7703
    @kamenskiy7703 2 роки тому +28

    Тимур, огромное спасибо за твой труд и старания
    Просто знай, что мы ценим это)

  • @sashap1rus562
    @sashap1rus562 2 роки тому +13

    Наконец, как же я долго ждал этого курса от тебя, поможем Тимуру поднять видос в топ!!!

  • @Es_nova
    @Es_nova 2 роки тому +16

    Мужик, как же ты вовремя, на работе как раз решили покрывать тестами проект и тут твое видео

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

      так иди на завод, стой да гайти чисти, и все окей) чем на заводе то плохо?

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

      @@Good_nick_name иди сам толчки драй, я программист, я буду говнокодить, меня все устраивает

  • @vadimpyatakov7021
    @vadimpyatakov7021 2 роки тому +5

    лайк глядя на половину

  • @GyrWorker
    @GyrWorker 2 роки тому +5

    По описанию видео, то что мне надо )

  • @helenit4365
    @helenit4365 2 роки тому +9

    Вот это ДА! Спасибо, Тима! Смотрим!💥

  • @HaveFun77777
    @HaveFun77777 2 роки тому +10

    КРУТО! Спасибо, давно ждал от тебя видео по тестам!

  • @dmitrykarpovich186
    @dmitrykarpovich186 2 роки тому +17

    То чего очень не хватало) Спасибо большое, буду изучать на днях!

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

    Ulbi TV

  • @ipa_stor
    @ipa_stor 2 роки тому +8

    вот это неожиданно! надо будет крайне внимательно смотреть!👀 спасибо огромное

  • @jaloliddinhazratqulov891
    @jaloliddinhazratqulov891 2 роки тому +6

    Великолепный работа
    Тимур самый лучшый сэнсэй
    огромный спасибо 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍

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

    Ой браток, как же вовремя видос за тесты, как раз собирался их изучать, а здесь 2 часа практики, делаешь годноту, респект тебе! :)

  • @aleksandrzelenskiy4000
    @aleksandrzelenskiy4000 2 роки тому +17

    Тестирование это то чего так не хватало! Спасибо Тимур! JEST, e2e, React Testing Library! Огонь!

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

    Этот парень был из тех кто просто делал годноту ууууу...

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

    А что тут сказать? Все ОЧЕНЬ здорово!!! Впрочем как всегда. Огромнейшее СПАСИБО. Здоровья и благополучия!!!

  • @disconnect355
    @disconnect355 2 роки тому +20

    Очень нужно разобраться в написании тестов. Автор молодец, автору спасибо)

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

    Важная тема. Большое спасибо за материал!

  • @krollsiphone
    @krollsiphone 2 роки тому +12

    Не знаком с автором, но… огромное спасибо. Просто молодец и все.

  • @igorovdienko58
    @igorovdienko58 2 роки тому +6

    Агонь!🔥🔥🔥 Спасибо за полезную информацию!

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

    Спасибо большое за материалы, сам недавно начал задумываться о тестах

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

    Как всегда, огромное спаcибо за вводный курс по тестированию JavaScript (JS) с использованием технологий Jest, React Testing Library! Отдельная благодарность за скриншотные тесты!

  • @antonskrebetz4935
    @antonskrebetz4935 2 роки тому +24

    Ульби, отличный канал, без преувеличения. Поставил колокольчик пару месяцев назад, как нашел твой канал. Все видео крайне полезны, без лишней воды, с хорошими практическими примерами. Еще не посмотрел тесты, но даже не сомневаюсь в полезности материала! Продолжай в том же духе! Всем знакомым рекомендую твой канал.
    Это наверно мой первый комментарий на UA-cam ;)

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

    Коммент для продвижения, спасибо за твой труд

  • @arturhimself
    @arturhimself 2 роки тому +4

    Спасибо, родной дорогой, только вот собрался инфу собирать

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

    Народ, всем ( Тимурке отдельный ), как же ты круто угадал тему для видоса, как вариант для будущих видео - Recoil (думаю скоро будет актуально)

  • @meowmyacivh
    @meowmyacivh 2 роки тому +9

    Тимур, спасибо за проделанную работу и качественную подачу материала!

  • @egolege
    @egolege 2 роки тому +8

    Огромная благодарность! Отличный материал!

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

    Ролик очень качественный! Всегда хотел ознакомиться с темой тестирования. Спасибо за контент, у тебя много крутых и полезных видео

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

    Спасибоооо за такой полный курс!!! Сейчас же буду смотреть! Уверена будет много полезного🥰

  • @dmytromykhailenko3497
    @dmytromykhailenko3497 2 роки тому +7

    Это однозначно зачет! Спасибо!

  • @kostyakykyshkin7974
    @kostyakykyshkin7974 2 роки тому +8

    Огромное спасибо! Только собирался тестировать проект, и тут бац, вся нужная инфа в одном в видео)

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

    Отлично, как раз нужен был курс по тестам, вечером посмотрю обязательно)

  • @serdargurbanmyradow287
    @serdargurbanmyradow287 2 роки тому +4

    Спасибо тебе большое! Очень долго ждал этого урока)

  • @sidless3862
    @sidless3862 2 роки тому +9

    Ulbi, ты как будто мои мысли прочитал! В настоящее время начал изучать тему тестов, и даже планирую их писать в своем приложении. И тут твое видео, после которого я точно уверен, что буду разбираться в теме. Ты просто подарок судьбы для начинающих!

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

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

  • @whoisyourdaddybaby
    @whoisyourdaddybaby 2 роки тому +4

    Тимур! Хочу поблагодарить вас за топовый контент! Очень полезная информация сосредоточена в одном видео, да собственно как и в каждом вашем видео и без воды. Желаю вам успехов во всех начинаниях! JavaScript, JEST, e2e, React Testing Library.

  • @sergeysamius1128
    @sergeysamius1128 2 роки тому +4

    Спасибо за полезный контент! Тестирование js, react, unit, jest, react testing library, e2e js

  • @PC-mv5jj
    @PC-mv5jj Рік тому +1

    Очень полезный практический урок, все по сути и без лишней лирики. Спасибо тебе, что щедро делишься своими знаниями и мастерством! 🔥👍

  • @olehmudriy9308
    @olehmudriy9308 2 роки тому +4

    Заочно жирный лайк! План на вечер! Спасибо!

  • @jimmycaldwell2012
    @jimmycaldwell2012 2 роки тому +4

    Это офигенно! Спасибо за проделанную работу

  • @88noname88
    @88noname88 2 роки тому +4

    Красавчик! Спасибо за курс!

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

    Вот это просто замечательно, в одном месте, все тезисно, без соплей. Как обычно в принципе у этого человека =) Вообще, чел, большой респект тебе, ты реально помогаешь учиться.

  • @eraliev_kanimet
    @eraliev_kanimet 2 роки тому +4

    Спасибо, потом позже буду смотреть

  • @mayke8623
    @mayke8623 2 роки тому +4

    Благодаря вашим видео у меня уже 'КОТ Барсик' во всю на javascript пишет код! На столько все разжевано!

  • @bohdanartiukhov3572
    @bohdanartiukhov3572 2 роки тому +4

    Ulbi спасибо тебе большое, твои видео это просто нечто, очень тебе благодарен, наконец-то что то годное появилось про тесты

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

    Спасибо. Ролик как всегда супер. Материал, подача, скорость!

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

    Лайк авансом. Потом обязательно посмотрю

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

    Мощь, сила, ярость! Невероятно качественное видео, лучший жи есть!

  • @frylo0
    @frylo0 Рік тому +8

    Для тех кто столкнулся с ошибкой `Failed to render with error "unable to click element as it has or inherits pointer-events set to "none".` на этапе с loki, то вот решение.
    Long story: На момент записи урока этих проблем не было. Сейчас при инициализации storybook в пресете идет пример с play для кейса. На сколько понял это новый функционал и локи пока под него не адаптировали. По дефолту, локи добавляет разные стили и отключает анимации для того, чтобы вёрстка получалась максимально статичной, чтобы на скриншотах не было расхождений. Таким же образом он накидывает отключение событий курсора, на что начинает ругаться testing-library, потому что не может нажать на кнопку.
    Resume: В issues на официальном гитхабе локи нашел решение - функция написанная на typescript (github.com/oblador/loki/issues/359#issuecomment-1248135073). По уроку мы пишем на js, но решение проблемы на typescript, так что придется удалить описания типов, чтобы оно заработало. Также надеемся что рано или поздно у локи появится нативная поддержка play.

  • @demiurgen13
    @demiurgen13 2 роки тому +15

    Лайк не глядя! Спасибо. Уверен, это будет самая полезная выжимка по юнит-тестированию, е2е тестам, jest и react testing library

  • @nikpan3421
    @nikpan3421 2 роки тому +9

    Годнота - подъехала😃 Огромное спасибо за Ваш бесценный труд!!

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

    Классный ролик. Уйма нужной информации. Спасибо!

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

    мы ждали и дождались! наконец-то! =)))

  • @deathgun5450
    @deathgun5450 2 роки тому +4

    афигеннннннный ты!

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

    Спасибо! Великолепный материал, с очень серьезной проработкой. Поставил лайк 👍

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

    О да. Как же я долго этого ждал!!!

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

    Только вперёд!!!

  • @met1388
    @met1388 2 роки тому +4

    Круто!!! Ждал этот материал

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

    как обычно все очень круто, понятно, без воды, спасибо!

  • @Evgeny..
    @Evgeny.. 2 роки тому +7

    Тестирование JavaScript от А до Я (Jest, React Testing Library, e2e, screenshot)

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

    Не останавливайся)

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

    не смотрел, но одобряю!

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

    Ulbi лучший, не даром твои уроки на первых местах находятся по определённым темам, спасибо что освещаешь темы довольно полно и доступно, продолжай в том же духе!

  • @beckdev7
    @beckdev7 2 роки тому +4

    топ контент подъехал)