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

2024 ж. 20 Мам.
240 177 Рет қаралды

В этом ролике мы научимся тестировать 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

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

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

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

    @ijaggerstube@ijaggerstube Жыл бұрын
  • Боже, храните Ulbi за такой классный контент!!!

    @onufrienko.a476@onufrienko.a4762 жыл бұрын
  • Как во время! Большое спасибо! Написал комент, потом пошел смотреть)))

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

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

    @kostal1979@kostal1979 Жыл бұрын
  • Поехали !!! 🚀🚀🚀 Jest, React Testing Library, e2e, screenshot

    @alik64@alik642 жыл бұрын
  • ты четкий, рад что нашел твой ютуб канал.

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

    @Evgeny..@Evgeny..2 жыл бұрын
  • 2 часа годного контента

    @user-cw2xk5jt6w@user-cw2xk5jt6w2 жыл бұрын
  • Да это просто огонь! Респект за системную инфу. Эй, Ютуб. Давай в топ советам всем кодерам!

    @yuryitikhonoff9631@yuryitikhonoff96312 жыл бұрын
  • Сначала лайк и комментарии!

    @Evgeny..@Evgeny..2 жыл бұрын
  • Новые вкусняхи от Тимура

    @Seacrest.@Seacrest.2 жыл бұрын
  • Ты и Михаил непомнящий лучшие

    @xqz666@xqz6662 жыл бұрын
    • Согласен!!!!!

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

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

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

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

    @brucewayne_007@brucewayne_0072 жыл бұрын
  • Огонь, топ контент - в топ поиска)))

    @sergsergey4251@sergsergey42512 жыл бұрын
  • Недавно искал ролик на канале по тестированию. И вот он.

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

    @user-jz6tu5lh8r@user-jz6tu5lh8r2 жыл бұрын
  • Тестирование 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

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

    @AZErste@AZErste2 жыл бұрын
  • Пишу респект коммент)))

    @dmitrykabanov2869@dmitrykabanov28692 жыл бұрын
  • Коммент в поддержку продвижения

    @indoorghoul5161@indoorghoul51612 жыл бұрын
  • Лайк поставил, ночью посмотрю

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

    @user-tx9cz5jn1j@user-tx9cz5jn1j2 жыл бұрын
    • Ничего, начнешь программировать, сразу тесты заставят писать)

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

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

      @user-md7px6he6c@user-md7px6he6c10 ай бұрын
    • я пришел к тестам так: нагрузка не равномерная на проекте и пока нет задач что бы от меня все отстали, я сказал я пишу тесты)

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

    @Evgeny..@Evgeny..2 жыл бұрын
  • То что нужно !!!! Как раз изучаем это!!! Спасибо, помог!

    @adelinaromanova8353@adelinaromanova83532 жыл бұрын
  • Коммент для продвижения на ютюбе

    @user-ue8bh7tj5k@user-ue8bh7tj5k2 жыл бұрын
  • Только задался вопросом и начал искать про это инфу, это видео просто подарок!

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

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

    @demetrx7972@demetrx7972 Жыл бұрын
  • лайк глядя на половину

    @vadimpyatakov7021@vadimpyatakov70212 жыл бұрын
  • Вот это просто бомба! Тестирование - это самая обделённая вниманием тема на ютубе, по моему мнению. Спасибо, Тимур!

    @skysar@skysar2 жыл бұрын
  • Ulbi TV

    @marhus8592@marhus85922 жыл бұрын
  • Сильно ждал тесты. СПАСИБО огромное!

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

    @Es_nova@Es_nova2 жыл бұрын
    • так иди на завод, стой да гайти чисти, и все окей) чем на заводе то плохо?

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

      @user-lg4yc9xi9h@user-lg4yc9xi9h2 жыл бұрын
  • Тимур, огромное спасибо за твой труд и старания Просто знай, что мы ценим это)

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

    @sashap1rus562@sashap1rus5622 жыл бұрын
  • По описанию видео, то что мне надо )

    @GyrWorker@GyrWorker2 жыл бұрын
  • Вот это ДА! Спасибо, Тима! Смотрим!💥

    @helenit4365@helenit43652 жыл бұрын
  • КРУТО! Спасибо, давно ждал от тебя видео по тестам!

    @HaveFun77777@HaveFun777772 жыл бұрын
  • То чего очень не хватало) Спасибо большое, буду изучать на днях!

    @dmitrykarpovich186@dmitrykarpovich1862 жыл бұрын
  • вот это неожиданно! надо будет крайне внимательно смотреть!👀 спасибо огромное

    @ipa_stor@ipa_stor2 жыл бұрын
  • Великолепный работа Тимур самый лучшый сэнсэй огромный спасибо 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍

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

    @user-ht5qv3wy4z@user-ht5qv3wy4z2 жыл бұрын
  • Тестирование это то чего так не хватало! Спасибо Тимур! JEST, e2e, React Testing Library! Огонь!

    @aleksandrzelenskiy4000@aleksandrzelenskiy40002 жыл бұрын
  • Этот парень был из тех кто просто делал годноту ууууу...

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

    @user-bl4te2kg8v@user-bl4te2kg8v2 жыл бұрын
  • Ulbi TV - рулит!

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

    @disconnect355@disconnect3552 жыл бұрын
  • Спасибо, родной дорогой, только вот собрался инфу собирать

    @arturhimself@arturhimself2 жыл бұрын
  • Важная тема. Большое спасибо за материал!

    @user-tr8xi3ik3c@user-tr8xi3ik3c2 жыл бұрын
  • Коммент для продвижения, спасибо за твой труд

    @maximzvenigorodsky8563@maximzvenigorodsky85632 жыл бұрын
  • Не знаком с автором, но… огромное спасибо. Просто молодец и все.

    @krollsiphone@krollsiphone2 жыл бұрын
  • Агонь!🔥🔥🔥 Спасибо за полезную информацию!

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

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

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

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

    @antonskrebetz4935@antonskrebetz49352 жыл бұрын
  • Тимур, спасибо за проделанную работу и качественную подачу материала!

    @meowmyacivh@meowmyacivh2 жыл бұрын
  • Огромная благодарность! Отличный материал!

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

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

    @user-zk3bc1lf8k@user-zk3bc1lf8k2 жыл бұрын
  • Это однозначно зачет! Спасибо!

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

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

    @user-qx6gp9ci5d@user-qx6gp9ci5d2 жыл бұрын
  • Спасибо тебе большое! Очень долго ждал этого урока)

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

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

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

    @whoisyourdaddybaby@whoisyourdaddybaby2 жыл бұрын
  • Спасибо, потом позже буду смотреть

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

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

    @PC-mv5jj@PC-mv5jj Жыл бұрын
  • Заочно жирный лайк! План на вечер! Спасибо!

    @olehmudriy9308@olehmudriy93082 жыл бұрын
  • Это офигенно! Спасибо за проделанную работу

    @jimmycaldwell2012@jimmycaldwell20122 жыл бұрын
  • Красавчик! Спасибо за курс!

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

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

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

    @bohdanartiukhov3572@bohdanartiukhov35722 жыл бұрын
  • Спасибо. Ролик как всегда супер. Материал, подача, скорость!

    @philipryazankin1073@philipryazankin10732 жыл бұрын
  • Лайк авансом. Потом обязательно посмотрю

    @user-vk5cu5vb3o@user-vk5cu5vb3o2 жыл бұрын
  • Для тех кто столкнулся с ошибкой `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.

    @frylo0@frylo0 Жыл бұрын
  • Мощь, сила, ярость! Невероятно качественное видео, лучший жи есть!

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

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

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

    @PetyL@PetyL2 жыл бұрын
  • мы ждали и дождались! наконец-то! =)))

    @mclotos@mclotos2 жыл бұрын
  • О да. Как же я долго этого ждал!!!

    @aboronilov@aboronilov2 жыл бұрын
  • афигеннннннный ты!

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

    @user-ku3bx8we1c@user-ku3bx8we1c2 жыл бұрын
  • Только вперёд!!!

    @liberta828@liberta8282 жыл бұрын
  • не смотрел, но одобряю!

    @user-rm5jx8pi4i@user-rm5jx8pi4i2 жыл бұрын
  • Круто!!! Ждал этот материал

    @met1388@met13882 жыл бұрын
  • Не останавливайся)

    @maximbuldov9437@maximbuldov94372 жыл бұрын
  • как обычно все очень круто, понятно, без воды, спасибо!

    @karinabertosh5698@karinabertosh56982 жыл бұрын
  • Тестирование JavaScript от А до Я (Jest, React Testing Library, e2e, screenshot)

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

    @user-tl4xv1sy3y@user-tl4xv1sy3y2 жыл бұрын
KZhead