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

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ต.ค. 2024

ความคิดเห็น • 679

  • @fruktela7772
    @fruktela7772 2 ปีที่แล้ว +19

    Скажи, когда React Native? Или ты с этим не работаешь?

  • @ConanWZP
    @ConanWZP 11 หลายเดือนก่อน +3

    Решение проблемы с удалением пользователя (e2e тест):
    в get usersItems() { } необходимо заменить return browser.react$$('User') на return $$('#users-list) - т.к. browser.react$$ работает только для react 16.v
    Далее:
    в async deleteUser()
    везде где встречается usersItems нужно поменять на usersItems[0].$$('div') т.е.:
    try {
    const usersCount = await this.usersItems[0].$$('div').length;
    if(!usersCount) {
    throw new Error('Пользователи не найдены')
    }
    await this.usersItems[0].$$('div')[0].$('#user-delete').click();
    const usersCountAfterDelete = await this.usersItems[0].$$('div').length;
    if(usersCount - usersCountAfterDelete !== 1) {
    throw new Error('Удаление не произошло или удалился более чем 1 пользователь');
    }
    } catch (e) {
    throw new Error('Не удалось удалить пользователя. ' + e.message)
    }
    и в файле users.e2e.js в тесте удаления пользователя необходимо убрать await UsersPage.loadData() - это при условии, что есть отдельный тест на loadData, либо же убрать отдельный тест на loadData и тогда в тесте удаления пользователя необходимо оставить await UsersPage.loadData()

    • @NikitaChekmarev
      @NikitaChekmarev 11 หลายเดือนก่อน

      Благодарствую , 3 недели назад забил на эту проблему перерыв все что можно , а тут такое )

  • @dmitriyvvmp9703
    @dmitriyvvmp9703 2 ปีที่แล้ว +4

    Ютуб могут отрубить, у тебя есть бекапы всех твоих видео? Они продолжат быть доступными на других площадках?

    • @UlbiTV
      @UlbiTV  2 ปีที่แล้ว +3

      Обязательно! Подписывайся на телеграмм

  • @efimkapliy6370
    @efimkapliy6370 3 หลายเดือนก่อน +18

    Отличное видео по тестированию во Frontend на React! Актуально в 2024!

  • @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

  • @vladislavgorovenko
    @vladislavgorovenko 8 หลายเดือนก่อน +4

    Если у кого-то ошибка при тестировании axios, добавьте в package.json:
    "jest": {
    "transformIgnorePatterns": [
    "node_modules/(?!axios)"
    ]
    },

  • @TheKashis911
    @TheKashis911 2 ปีที่แล้ว +5

    В телеграмме же был спойлер о том , что видео должно было быть про собеседование ;(

    • @clearsky906
      @clearsky906 2 ปีที่แล้ว +1

      тесты есть на собесе и в тестовых заданиях

  • @vladimirprosolupov1656
    @vladimirprosolupov1656 2 ปีที่แล้ว +2

    Спасибо за видео, но не могу понять, я что единственный, кто столкнулся во втором кейсе e2e теста с ошибкой : javascript error: Could not find the root element of your application. В интернете нашёл 2 статьи с такой же проблемой , обе без решения. Как понял метод get usersItems() не возвращает желаемый массив с реакт компонентами. Есть у кого идеи как победить это?

  • @methamorph
    @methamorph 2 ปีที่แล้ว +4

    Как то все надуманно (не контент видоса, а именно в концепции тестирования). Тесты пишутся тоже людьми и можно написать тест по функции спецом чтобы тесты были зеленые... очень похоже на дизельгейт в VW...

  • @frylo0
    @frylo0 ปีที่แล้ว +34

    Если у кого-то возникла проблема "cannot use import statement outside a module" на axios, то вот решение.
    Long story: После выхода данного урока, библиотека axios перешла с CommonJS импорта на ES Modules, из-за этого и возникает ошибка. Ошибка именно в библиотеке. Чтобы это исправить, надо рассказать Jest'у что библиотека использует модули и это надо учесть при трансформации кода при запуске теста.
    Resume: Надо добавить в package.json код. Cам package.json будет выглядеть так:
    {
    ...
    "jest": {
    "transformIgnorePatterns": ["node_modules/(?!axios)"]
    }
    ...
    }

    • @doudou1929
      @doudou1929 ปีที่แล้ว

      Этот вариант работает. Могу добавить, что по привычке при добавление axios воспользовался авто import, в итоге чесал репу и думал, что не так. А надо именно добавлять через require('axios'). Это же описано на npmjs.

    • @IanNerovnyi
      @IanNerovnyi ปีที่แล้ว +3

      @@doudou1929 вобще-то разницы нет и с require тоже не робит, я протестил

    • @IanNerovnyi
      @IanNerovnyi ปีที่แล้ว

      Офигенное спасибо! В вебпаке по идее такое-же правило будет, как я понимаю? (Если без cra приложение ставить)

    • @МаксЛысогоров
      @МаксЛысогоров ปีที่แล้ว

      Также долго мучался с этим. Искал разные решения из интернета и ничего не помогало. В итоге переделал на fetch. А сейчас попробовал ваше решение и axios заработал. Уряяя!

    • @АлексейГорулёв-я6у
      @АлексейГорулёв-я6у ปีที่แล้ว

      Храни тебя Господь за это решение

  • @Evgeny..
    @Evgeny.. 2 ปีที่แล้ว +7

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

  • @viktor9706
    @viktor9706 2 ปีที่แล้ว +2

    Вопрос, у всех ли работает userEvent.type, тайм код 54:20, с fireEvent все ок, value в инпуте поменялось, но когда userEvent - ничего не работает

  • @Evgeny..
    @Evgeny.. 2 ปีที่แล้ว +14

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

  • @kostal1979
    @kostal1979 ปีที่แล้ว +3

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

  • @romanpetrashkevich5292
    @romanpetrashkevich5292 2 ปีที่แล้ว +5

    спасибо, интересно, ты применял все эти виды тестирования в продакшне?

  • @mozjiqok
    @mozjiqok 2 ปีที่แล้ว +1

    Оставлю комментарий больше четырёх слов :)

  • @English3minute
    @English3minute 2 ปีที่แล้ว +5

    Приветствую братан. Меня зовут Давид из Казахстана. У меня одно предложение есть. Чтобы ты дальше вкладывал свои уроки и зарабатывал. Напиши ответ если тебе интересует . А тебе лайк 👍

  • @LogopedLTD
    @LogopedLTD 2 ปีที่แล้ว +4

    Чтоооо?)) От спасибо)

  • @jaloliddinhazratqulov891
    @jaloliddinhazratqulov891 2 ปีที่แล้ว +6

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

  • @Денис-в9г3ц
    @Денис-в9г3ц 2 ปีที่แล้ว +21

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

  • @marc1k3y
    @marc1k3y 2 ปีที่แล้ว +3

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

  • @Evgeny..
    @Evgeny.. 2 ปีที่แล้ว +18

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

  • @МаксимДоценко-д2ш
    @МаксимДоценко-д2ш 2 ปีที่แล้ว +152

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

    • @ne4to777
      @ne4to777 2 ปีที่แล้ว

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

    • @jestemzbiaorusi8379
      @jestemzbiaorusi8379 2 ปีที่แล้ว +15

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

    • @ПавелШлыков-м4ч
      @ПавелШлыков-м4ч ปีที่แล้ว +1

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

    • @ЯрославКорнюшенко
      @ЯрославКорнюшенко 7 หลายเดือนก่อน +1

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

  • @jasurbekzaripov8102
    @jasurbekzaripov8102 2 ปีที่แล้ว +4

    👍✌️

  • @МайклБраун-з3м
    @МайклБраун-з3м 2 ปีที่แล้ว +5

    собаки нюхают деревья по четвергам вечером

    • @WontBeExtra
      @WontBeExtra 5 หลายเดือนก่อน

      Сам ты собака

  • @RusAlex1991
    @RusAlex1991 2 ปีที่แล้ว +3

    А где Vue тестирование? :)

  • @АлександрДми
    @АлександрДми 2 ปีที่แล้ว +3

    Почему с iPhone 7 а, не с iPhone 13 ?

  • @mr.sponty1340
    @mr.sponty1340 2 ปีที่แล้ว +3

    Давай видос по webpack 5, и настройку под react

  • @Den4eg37
    @Den4eg37 2 ปีที่แล้ว +3

    Думаю после такого ролика продажи курсов по тестированию упадут ))

  • @varanakonda
    @varanakonda 2 ปีที่แล้ว +14

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

  • @mip1992
    @mip1992 2 ปีที่แล้ว +2

    Если в БД меняется или удаляется хотя бы один из первых трех пользователей то моковые данные уже не актуальны и надо их заново вносить?

  • @itpro952
    @itpro952 2 ปีที่แล้ว +7

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

  • @brucewayne_007
    @brucewayne_007 2 ปีที่แล้ว +8

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

  • @kamik0t0_yt83
    @kamik0t0_yt83 2 ปีที่แล้ว +2

    Вопрос. Как в одном файле запустить два разных теста в котором модуль, например, axios, либо запрос к БД (словом который импортируется через require) будет в одном из тестов мокнутым, а в другом тесте реализовывать свое реальное поведение. Уточнение. Такой модуль тестируется в составе другой функции (или модуля) которая внутри себя данный модуль вызывает и также импортируется в данный тест через require.

  • @AlexandruBejenari
    @AlexandruBejenari 2 ปีที่แล้ว +4

    Thank you!

  • @ЕжЕжиков-в9ь
    @ЕжЕжиков-в9ь 2 ปีที่แล้ว +13

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

  • @МихаилОхотников-д8ч
    @МихаилОхотников-д8ч 2 ปีที่แล้ว +17

    Ждём курс по паттернам проектирования на чистом JS

  • @andreyzhukov2821
    @andreyzhukov2821 2 ปีที่แล้ว +3

    Тимур, привет!
    Лайк, конечно же, поставил
    И кстати, 1:26:24 читается "МОККА" )

  • @mikhailkh8560
    @mikhailkh8560 2 ปีที่แล้ว +3

    Опять буду я ролик смотреть недели две. А потом опять задоначу!

  • @adelinaromanova8353
    @adelinaromanova8353 2 ปีที่แล้ว +12

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

  • @unicoxr5tj417
    @unicoxr5tj417 2 ปีที่แล้ว +3

    лайк подьехал-получите)

  • @xqz666
    @xqz666 2 ปีที่แล้ว +13

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

    • @andrewsam224
      @andrewsam224 8 หลายเดือนก่อน +1

      Согласен!!!!!

  • @WalterWhite-ck5rz
    @WalterWhite-ck5rz 2 ปีที่แล้ว +1

    У меня одного корректно отрабатывает даже если не закомментировать верхние тесты 26:42?
    И даже без jest.clearAllMocks()

  • @dmitrykarpovich186
    @dmitrykarpovich186 2 ปีที่แล้ว +17

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

  • @AndriiNakonechnyi-f3y
    @AndriiNakonechnyi-f3y 2 ปีที่แล้ว +14

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

  • @pechatnik
    @pechatnik 2 ปีที่แล้ว +6

    Осталось найти только время на всеээто. Только сегодня обсуждали регрессионное тестирование. Думал как раз покрыть тестами нашу систему.

  • @ПавловОлексій
    @ПавловОлексій 2 ปีที่แล้ว +8

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

  • @alexbigar9769
    @alexbigar9769 2 ปีที่แล้ว +6

    Круть! Спасибо за годный контент!!! 🚀🚀🚀

  • @disconnect-forever
    @disconnect-forever 2 ปีที่แล้ว +20

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

  • @ВикторБелянкин-м1щ
    @ВикторБелянкин-м1щ 10 หลายเดือนก่อน +1

    58-17, выдавалась ошибка а импорт axios.
    Проблему решил с помощью установки jest в проект npm i -D jest,
    А также добавления в packege.json
    "devDependencies": {
    "jest": "^27.5.1"
    },
    "jest": {
    "moduleNameMapper": {
    "axios": "axios/dist/node/axios.cjs"
    }
    }
    Заработало

  • @alexbaboy7292
    @alexbaboy7292 2 ปีที่แล้ว +1

    Тест на удаление пользователя падает с ошибкой "Не удалось удалить пользователя. javascript error: Could not
    find the root element of your application"

  • @ijaggerstube
    @ijaggerstube ปีที่แล้ว +3

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

  • @Алексей-и5д3в
    @Алексей-и5д3в 2 ปีที่แล้ว +13

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

  • @liberta828
    @liberta828 2 ปีที่แล้ว +3

    🔥🔥🔥🔥

  • @yuryitikhonoff9631
    @yuryitikhonoff9631 2 ปีที่แล้ว +12

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

  • @programming5944
    @programming5944 2 ปีที่แล้ว +5

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

  • @anatoliiilescu839
    @anatoliiilescu839 2 ปีที่แล้ว +4

    Спасибо MAN!!!!

  • @Giri-16108
    @Giri-16108 2 ปีที่แล้ว +10

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

  • @silvardkhachatryan9373
    @silvardkhachatryan9373 2 ปีที่แล้ว +3

    no comment👍👍

  • @kolyabokov88
    @kolyabokov88 2 ปีที่แล้ว +9

    НУ, вот опять же в тему) я сейчас на новой работе как раз сижу за докой Cypress, впервые столкнулся с тестированием) спасибо бро, обязательно к просмотру!

    • @DeIgado95
      @DeIgado95 2 ปีที่แล้ว +1

      какие люди)

    • @kolyabokov88
      @kolyabokov88 2 ปีที่แล้ว +1

      @@DeIgado95 😘🙏

  • @demiurgen13
    @demiurgen13 2 ปีที่แล้ว +15

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

  • @krollsiphone
    @krollsiphone 2 ปีที่แล้ว +12

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

  • @МихайлоМощовський
    @МихайлоМощовський 2 ปีที่แล้ว +2

    You are the best .

  • @VolodymyrSirenko
    @VolodymyrSirenko 2 ปีที่แล้ว +6

    Спасибо большое! Ты красавчик!

  • @ЭзамАппаева
    @ЭзамАппаева 2 ปีที่แล้ว +20

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

  • @gerda-morozova
    @gerda-morozova 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.

  • @graves3799
    @graves3799 2 ปีที่แล้ว +5

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

  • @umarjuraev1624
    @umarjuraev1624 2 ปีที่แล้ว +1

    я одного не понял что getData() возвращает много значений
    const data = await getData() вот
    expect(data).toStrictEqual(['1','2','3']) а тут мы проверяем на 3
    я понял что до запуска теста у нас 3 значения но все таки мы сравниваем с const data = await getData() а он вернет много значений ,
    обясни пож , чего я не уловил.

  • @ipa_stor
    @ipa_stor 2 ปีที่แล้ว +8

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

  • @Evgeny..
    @Evgeny.. 2 ปีที่แล้ว +5

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

  • @kostyakykyshkin7974
    @kostyakykyshkin7974 2 ปีที่แล้ว +8

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

  • @ДанилМакогонов-м7х
    @ДанилМакогонов-м7х 2 ปีที่แล้ว +3

    лучший лучший лучший лучший лучший лучший лучший

  • @onufrienko.a476
    @onufrienko.a476 2 ปีที่แล้ว +8

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

  • @KolomeetsAV
    @KolomeetsAV 6 หลายเดือนก่อน +1

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

  • @mayke8623
    @mayke8623 2 ปีที่แล้ว +4

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

  • @antonskrebetz4935
    @antonskrebetz4935 2 ปีที่แล้ว +24

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

  • @Seacrest.
    @Seacrest. 2 ปีที่แล้ว +4

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

  • @tevi6667
    @tevi6667 2 ปีที่แล้ว +6

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

  • @АлександрКулик-м7я
    @АлександрКулик-м7я 2 ปีที่แล้ว +3

    Тесты - написал и спи спокойно.

  • @yuridukhanin19
    @yuridukhanin19 2 ปีที่แล้ว +3

    Спасибо, полезно. Лайк поставил

  • @ДениИмагожев-й7у
    @ДениИмагожев-й7у 2 ปีที่แล้ว +8

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

  • @danilkin1347
    @danilkin1347 2 ปีที่แล้ว +5

    спасибо за твой контент!

  • @alexeyilin1527
    @alexeyilin1527 2 ปีที่แล้ว +5

    Очень вовремя, спасибо)

  • @alexbaboy7292
    @alexbaboy7292 2 ปีที่แล้ว +3

    Тест "redirect to details page" в файле Users.test.jsx все время падает с ошибкой "Unable to find an element by: [data-testid="user-item"]"
    такое ощущение, что клик не отрабатывает userEvent.click(users[0])
    вот полный код этого теста
    test('redirect to details page', async () => {
    axios.get.mockReturnValue(response)
    render(renderWithRouter())
    const users = await screen.findAllByTestId('user-item')
    expect(users.length).toBe(3)
    userEvent.click(users[0])
    expect(screen.getByTestId('user-page')).toBeInTheDocument()
    })

    • @АнтонШашков-п4й
      @АнтонШашков-п4й 2 ปีที่แล้ว

      Решил как нибудь?

    • @talivel118
      @talivel118 2 ปีที่แล้ว

      @@АнтонШашков-п4й А ты?;)

    • @JUN-17
      @JUN-17 ปีที่แล้ว

      Решили ?)

    • @ismailbenoevski
      @ismailbenoevski ปีที่แล้ว +1

      @@JUN-17 выше есть коммент по этому поводу. вот: Николай К
      4 месяца назад (изменено)
      Класс! Как раз взяли на работу где требуется писать тесты, сижу изучаю. Из всех что нагуглил это топ видео на эту тему в ру сегменте.
      57:00
      интересно что если в рендере метод map сделать не через строку, то уже тест работать не будет. Пишет Unable to find an element by: [data-testid="user-item"]
      return (

      {users.map(user => {
      {user.name}
      })}

      )
      Чтобы всё это дело заработало, в методе map нужно явно указывать return:
      return (

      {users.map(user => {
      return({user.name})
      })}

      )

    • @JUN-17
      @JUN-17 ปีที่แล้ว +1

      @@ismailbenoevski Проблема не в этом

  • @adam-front
    @adam-front 2 ปีที่แล้ว +5

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

  • @Алексей-у6щ1о
    @Алексей-у6щ1о 2 ปีที่แล้ว +5

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

  • @alexandrchazov6185
    @alexandrchazov6185 2 ปีที่แล้ว +8

    Тимур, спасибо за ролик, он очень помог мне определиться с выбором библиотеки для тестирования. В рабочем проекте мы начали писать E2E-тесты на Cypress и я понял, тестирование большого приложения занимает очень много времени и разработчики при написании нового функционала просто не запускают тесты. После просмотра ролика я понял, что надо поговорить с заказчиком, оставить около 10% важных тестов на Cypress и покрыть всё приложение Unit-тестами на Jest. Покрывать большое приложение целиком тестами на Cypress это не вариант. Поправьте меня если я не прав, спасибо.

  • @rents1111
    @rents1111 ปีที่แล้ว +1

    46:17 Почему тест этого элемента срабатывает не всегда? При больших значениях ms setTimeout функция не успевает дождаться и тест падает. Почему так? Она же асинхронная, должна и 5 сек ждать.

    • @Mr.Bellamy
      @Mr.Bellamy ปีที่แล้ว +2

      Промис с элементом резолвится по таймеру. Если к моменту возврата - элемент уже есть на странице, то тест зеленый. Если элемента нет - то сотвественно красный
      По дефолту таймер - 1000 мс (1 секунда)
      Можно добавить опции и задать свое значение таймаута, например 5 секунд:
      test('тестируем waitfor', async () => {
      const element = await screen.findByText(/hello world/i, {}, {timeout: 5000})
      expect(element).toBeInTheDocument()
      })

  • @deathgun5450
    @deathgun5450 2 ปีที่แล้ว +4

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

  • @sashap1rus562
    @sashap1rus562 2 ปีที่แล้ว +13

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

  • @ИванДядюра-ы4й
    @ИванДядюра-ы4й 2 ปีที่แล้ว +4

    Лучший, спасибо

  • @elmirweb6583
    @elmirweb6583 2 ปีที่แล้ว +3

    Какой же топовый крутой

  • @mykolavarvarchuk937
    @mykolavarvarchuk937 2 ปีที่แล้ว +9

    Супер, спасибо!👍

  • @vp9878
    @vp9878 2 ปีที่แล้ว +5

    Спасибо! Лучший как всегда

  • @eraliev_kanimet
    @eraliev_kanimet 2 ปีที่แล้ว +4

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

  • @dmitrykabanov2869
    @dmitrykabanov2869 2 ปีที่แล้ว +3

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

  • @Es_nova
    @Es_nova 2 ปีที่แล้ว +17

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

    • @Good_nick_name
      @Good_nick_name 2 ปีที่แล้ว +1

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

    • @МаксимБалемба
      @МаксимБалемба 2 ปีที่แล้ว +2

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

  • @ДмитрийАрзяков-б4р
    @ДмитрийАрзяков-б4р 2 ปีที่แล้ว +5

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

  • @n.kirilenko
    @n.kirilenko 2 ปีที่แล้ว +4

    Спасибо!