92 - тестируем компоненты, тесты, react-test-renderer - React JS

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ต.ค. 2024
  • it-incubator.i... - человекоориентированное, честное и профессиональное обучение front-end и back-end разработке гарантированно до трудоустройства за фиксированную стоимость.
    Поддержать меня можно на patreon / itkamasutra или оформив спонсорство на данном канале.
    Помогайте друг другу вот здесь: t.me/reactjs_s...
    API: social-network...
    Тема тестирования - мутная и сложная. Но безумно интересная и полезная))
    Мы научились с вами в этом выпуске тестировать бизнес логику, а именно наши reducer-ы:
    • 89 - Тесты, jest, tdd,...
    В данном выпуске мы научимся тестировать компоненты:
    будем их "фейково" отрисовывать, "фейково" взаимодействовать с ними и проверять, что там с нашей компонентой произошло.
    Тема сложная. Материала много... Мы будем постепенно осваивать это искусство - искусство tdd (test driving development)
    Для теста компонент будем подключать библиотеку react-test-renderer
    Обратите внимание: устанавливайте версию, такую же, какая у вас версия react-а
    Летим, самураи!!!
    Уроки по React JS: • Курс "React JS - путь ...
    Сайты:
    it-kamasutra.com
    it-incubator.eu
    samuraijs.com
    Мы в соц. сетях:
    itkamas...
    / itkamasutra
    telegram.me/it...
    Мои личные VK и Insta:
    d.kuzyu...
    / it.kamasutra.dimych
    #tdd #reactJS #тестирование #практика #пример #уроки #курс

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

  • @MikhailKuklenkov
    @MikhailKuklenkov 5 หลายเดือนก่อน +2

    Я человек простой. Смотрю урок от Димы - ставлю жирнющий лайк. Благодарю за мега труд, Дима!
    #tdd #reactJS #тестирование #практика #пример #уроки #курс

  • @yuliiashpak9719
    @yuliiashpak9719 5 ปีที่แล้ว +77

    Чем больше узнаю, тем больше понимаю, как мало я знаю) Спасибо за уроки React Redux . Уже даже спится плохо, если знаю, что там на канале новый урок а я его не посмотрела, в сети так мало людей, которым не влом рзажевать другим то, что они поняли, и еще меньше тех, кто умеет это делать качественно, а ты большой молодец!

    • @ITKAMASUTRA
      @ITKAMASUTRA  5 ปีที่แล้ว +10

      Спасибо и пожалуйста)))
      И спи спокойно, ибо важно не сойти с ума)) а сфера незнания будет всё увеличиваться и увеличиваться)))

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

      @@ITKAMASUTRA и для этого к нам пришел chatgpt, который + - справляется с unit тестами) Но за урок спасибо, очень полезно понимать их роботу!

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

    49:57 уровень профессионализма - рассказывать тему и в попыхах искать зарядку для ноута😂 лучший🙌

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

    Главная идея урока - научится основным принципам тестирования. Основной принцип программного тестирования - программно имитировать пользовательское взаимодействие - ожидая некоторый результат.
    Первая часть урока, касается теста App компоненты jestом, на то, рисуется она без проблем или нет. Однако тест ломается если не передать нужные вещи для отрисовки самой компоненты. Поэтому мы вынесли оборачивание BrowserRouter в отдельную комопоненту, которую и будем тестривать. Принцип теста. Создаем выдуманный div и рендерим его в VirtualDOM передавая нужную компоненту AppWithBrowserRouter, а после демонтируем ее из div:
    test('renders App component', () => {
    const div = document.createElement('div')
    ReactDOM.render(, div);
    ReactDOM.unmountComponentAtNode(div);
    })
    Итак. Далее рассматриваем библиотеку react-test-renderer для теста компонент. Устанавливаем библиотеку как на видео. Проверяем версию react и устанавливаем коммандой: npm i --save-dev react-test-renderer@версия реакта
    После приступаем к тестам (тестируем ProfileStatus в отдельном файле).
    Новая инфа. Есть возможность группировать тесты. Для этого пишем следующий синтаксис
    describe('название группы тестов', () => {
    test('sназвание теста', () => {
    //тест
    })
    })
    Для классовых компонент и их внутренностей использвуют
    const instance = component.getInstance();
    Из дальнейших тестов, важно. getInstance() нельзя использовать при тесте функциональных компонент (не классовых).
    Для функциональных комопонент и их внутренностей используют
    const root = component.root;
    Изза этого первый тест претерпел изменений. Т.к компонента ProfileStatus уже функциональная.
    test('status form props should be in state', () => {
    const component = create();
    const root = component.root;
    const span = root.findByType("span");
    expect(span.children[0]).toBe("status text")
    })
    Чтобы не засорят коммент опишу тесты которые описывают некоторые кейсы:
    1) Обработка ожидания ошибки. Тоесть предполагаем что на выходе будет ошибка. Для этого в expect передаем функцию в которой ожидается ошибочный параметр и после пишем .toThrow():
    test('after render input shouldn`t be shown', () => {
    const component = create();
    const root = component.root;
    //ожидание комопненты
    expect(()=>{
    const span = root.findByType("input");
    }).toThrow()
    });
    2) ожидание значение с логическим нет. После ecpect() пишем .not
    test('after render span shold be shown v2', () => {
    const component = create();
    const root = component.root;
    const span = root.findByType("span");
    expect(span).not.toBeNull()
    });
    3) Имитация действия с элементом. Важно, перед использованием убедиться в передаваемом действии на элемент, чтобы получить его из props
    Вобщем чтобы имитировать действие (допустим дабл клик), нужно вызвать функцию действия, пришедшую из props
    span.props.doubleClick()
    Тест дейстия по клику выглядит так:
    test('after doubleClick on span shold be changed to input whith correct statust', () => {
    const component = create();
    const root = component.root;
    let span = root.findByType("span");
    span.props.onDoubleClick();
    let input = root.findByType("input");
    expect(input.props.value).toBe("status text")
    })
    })
    4) Отслеживание колличества вызвовов функции. В тесте можно создать выдуманный колбек, колличество вызовов которого, можно отследить.
    Создание функции: const mockCallBack = jest.fn( (передаваемые значения) => {тело функии} )
    Отслеживание: expect(mockCallBack.mock.calls.length).toBe(1)
    Пример теста:
    test('callback should be called', () => {
    const mockCallBack = jest.fn( () => { } )
    const component = create();
    const instance = component.getInstance();
    root.deactivateEditMode();
    expect(mockCallBack.mock.calls.length).toBe(1)
    })
    Важно! В примере указан способ для теста функции в классовой компоненте. Однако в функциональной, такой способ не сработает. На текущий момент (август 2023), не нашел способа тестирования фуинкий в функциональных комнонентах. Если найдете решение, прошу отписать в ответ

  • @pashabezk
    @pashabezk ปีที่แล้ว +10

    2022. Сложно смотреть.
    Какие-то кусочки уже неактуальны. К Димычу никаких вопросов, все супер! Но вот желание изучать тестирование отваливается. Хотя и надо! Обязательно ещё вернусь к этой теме

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

      и в новом обновлении нужно писать тест в App.test.js:
      import { createRoot } from 'react-dom/client';
      test('renders without crashing', () => {
      const container = document.createElement('div');
      const root = createRoot(container);
      root.render();
      root.unmount();
      });
      ReactDom импортировать не нужно!
      По другим позициям тоже много изменилось. Разбираюсь пока

  • @ВикторКлименко-щ9ф
    @ВикторКлименко-щ9ф 4 ปีที่แล้ว +13

    Спасибо большое!!! Я был недопрограммист, теперь я ещё и недотестировщик))) Но нисего, бомбим по кругу заново, чтобы стать истинными самураями!!

  • @razlond159
    @razlond159 4 ปีที่แล้ว +20

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

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

    Есть такое ощущение, что для тестов нужно тоже писать тесты

  • @darjat.1069
    @darjat.1069 4 ปีที่แล้ว +5

    Пока делала тесты и пыталась понять, почему они не работают, внезапно поняла, что с тестами всё отлично. С тестами всё отлично, а вот в коде всё это время была нелепая ошибка, которую я даже не замечала.) Тесты огонь. Просто необходимая штука.

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

      А ума не хватило, здесь описать свою ошибку ?!

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

      @@lvasmart3516 невежа

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

    оч полезно!! мне кажется именно такие видео полезны джунам!как ориентироваться когда не все очевидно!

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

    спасибо за выпуск, Димыч) летим дальше, полёт нормальный))
    #tdd #reactJS #тестирование #практика #пример #уроки #курс

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

    тестируем компоненты, тесты, react-test-renderer - React JS 21.08.2023

  • @НиколайТесля-ш4е
    @НиколайТесля-ш4е ปีที่แล้ว +1

    Димыч красава! Мы красавы кто дошел сюда! Истинные самураи! Пришел из php и бэка на Laravel! Думал что реакт сложный и запутанный но Димыч разжевал все как надо!

  • @ДенисВладимирович-ы2ъ
    @ДенисВладимирович-ы2ъ 3 ปีที่แล้ว +9

    2021 г. react 17.0.1 - Базовый тест App отличается от теста версии Димыча, пришлось повозиться, что бы сделать его зелёным. ) Тест по умолчанию, ищет в отрисованном дереве ссылку learn react , которой там давно уже нет. Нужно дать для поиска то, что есть в вашем дереве на самом верху, - присвоить атрибут role к div, который рисуется в верху(какие div видны тесту, будет видно в ошибке к тесту), а затем найти его через div = screen.getByRole(/main/i) - тест зелёный Летим дальше!!! P.S мысли переписать тест на тест, как у Димыча в ролике, проскакивали)

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

      я так понимаю нужный нам div это первый див в render внутри App, с ним эти махинации делать?

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

      Крутил по всякому, никак не получилось повторить что бы работало. Сделал то что у Димыча.

    • @ПолинаПолинина-ш8и
      @ПолинаПолинина-ш8и 2 ปีที่แล้ว

      Спасибо. Покрутила и все вышло. В терминале указывает доступное место для вставки role.

  • @genapolyakov
    @genapolyakov ปีที่แล้ว +10

    Сейчас много поменялось в 2022.
    изменился синтаксис и теперь вылетает ошибка с render, нужно использовать вместо этого createRoot
    и в новом обновлении нужно писать тест в App.test.js:
    import { createRoot } from 'react-dom/client';
    test('renders without crashing', () => {
    const container = document.createElement('div');
    const root = createRoot(container);
    root.render();
    root.unmount();
    });
    ReactDom импортировать не нужно!

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

      Спасибо, работает

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

      React 18 версия?

  • @Аннанежная-м8я
    @Аннанежная-м8я 2 ปีที่แล้ว +3

    Я уже переделала ProfileStatus в функциональный компонент, get instance можно получить только у классового компонента судя по документации.
    Немного зашла в тупик, но придумала как написать тест для фунционального компонета. Этот тест проверяет совпадает ли текст в спане со статусом из пропсов.
    describe('Profile status component', () => {
    test('Status from props should be in state', () => {
    const testStatusStr = 'Test status';
    const component = TestRenderer.create();
    let statusInSpan = component.toJSON().children[0].children[1]
    expect(statusInSpan).toBe(testStatusStr)
    })
    })
    Не знаю делают так или нет, но тест прошел))

  • @АндрейФилимончик-ю9у
    @АндрейФилимончик-ю9у 3 ปีที่แล้ว +2

    Большое спасибо за курс! Димыч, ты лучший!))
    тестируем компоненты, тесты, react-test-renderer

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

    Спасибо! тестриуем компоненты, react-test-renderer - React JS #tdd #reactJS #тестирование

  • @marsonleonardovich4036
    @marsonleonardovich4036 5 ปีที่แล้ว +7

    Спасибо, очень полезный был урок! LIKE!

  • @ДенисВладимирович-ы2ъ
    @ДенисВладимирович-ы2ъ 3 ปีที่แล้ว

    Для каждого вида теста, сделал комментарий к каждой строчке, в файле с тестом, прямо в коде, шпаргалка. Летим!!!

  • @dimitriitkach7697
    @dimitriitkach7697 3 ปีที่แล้ว

    spasibo za urok - 92 - тестриуем компоненты, react-test-renderer - React JS

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

    Просто просмотрел выпуск и понял, что на моем уровне пока это будет слишком, просто ознакомился что это и для чего. А так сложилось мнение что теме тестов, настолько обширная, что действительно можно снять отдельно 100 выпусков по им. Летим дальше осталось 8 выпусков и пора на собесы

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

      Взяли куда нибудь?

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

      @@webbomj Да в Апреле 2022 года устроился

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

      @@bugaga8144 Поздравляю!

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

    Благодарю, Димыч!!! тестируем компоненты, react-test-renderer #React #JS #tdd #reactJS #тестирование

  • @marina-ej4qd9kc1wh
    @marina-ej4qd9kc1wh 9 หลายเดือนก่อน

    Посмотрела спустя рукава, очень тема для меня мутная. Но потом вернусь, пересмотрю как следует. Спасибо! react-test-renderer

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

    в новой версии текперь по другому, я написал тест вот так:
    import SamuraiJSApp from "./App";
    import {createRoot} from "react-dom/client";
    it('renders without crashing', () => {
    const div = document.createElement('div');
    const root = createRoot(div);
    root.render();
    root.unmount();
    });

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

      спасибо!

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

      август 2023 - код Димыча работает без ошибок

    • @ЯрославаКондратенко
      @ЯрославаКондратенко 6 หลายเดือนก่อน

      Спасибо, апрель 2024 - помогло

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

    У кого красным подчеркивается root.findByType() вы можете тесты сделать асинхронными, например так:
    test('test', async () => {
    ...
    let span = await root.findByType("span");
    ...
    })

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

    Спасибо большое за твои видео. Я безмерно благодарен.
    Ровно после этого видео получил оффер

  • @АлексГ-п3ж
    @АлексГ-п3ж 4 ปีที่แล้ว +2

    Круто!
    P.S. Список ключевых слов: React, Redux, лучшие супер курсы, бесплатно,
    tdd, test, тест, react-test-renderer

  • @mhersimonyan974
    @mhersimonyan974 5 ปีที่แล้ว +4

    test of components, тестируем компоненты, react-test-renderer , React, JS Погнали!

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

    как же хорошо что я переделал на функциональный компонент

  • @ВладПономарёв-м1ъ
    @ВладПономарёв-м1ъ ปีที่แล้ว

    Димыч, спасибо. тестируем компоненты, тесты, react-test-renderer

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

    Димыч, лайфах как жать меньше кнопок: чтобы открыть ссылку в новой вкладке нажми на нее колесиком мыши (эквивалентно трем пальцам на тачпаде)
    Уроки супер, спасибо)

  • @НатальяПолянская-в4ь
    @НатальяПолянская-в4ь 3 ปีที่แล้ว +1

    Раньше находила комментарий, поделюсь. Можно не проделывать все те процедуры которые Димыч проделывает в видео, можно в самом тесте обернуть роутерами, я не знаю насколько это правильно, (если не правильно отпишитесь пжл.) но у меня работает. вот пример кода.
    it('renders without crashing', () => {
    const div = document.createElement('div');
    ReactDOM.render( , div);
    ReactDOM.unmountComponentAtNode(div);
    });

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

    "Ой, я случайно плюнул в монитор" - Димыч.... ахахахаххаах

  • @oksanamishota6514
    @oksanamishota6514 3 ปีที่แล้ว

    Спсаибо за тесты, react-test-renderer - React JS

  • @АртемийЛукин-г4ы
    @АртемийЛукин-г4ы ปีที่แล้ว +1

    Летим !

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

    Спасибо!
    тесты компонент, react-test-renderer.

  • @АртемКулинский-ю4о
    @АртемКулинский-ю4о 3 ปีที่แล้ว

    Сколько всего интересного! Дмитрий очень хороший преподаватель! Отличный курс по React - Redux! Какой же вы добрый и деятельный человек, Дмитрий! Настоящий самурай! IT-KAMASUTRA, вперед! Отличный урок по тестированию React - компонентов.

  • @Aleks-lk1et
    @Aleks-lk1et ปีที่แล้ว

    Спасибо! 2022! Установил версию как сказал Димыч версия "react-test-renderer" должна быть как у React. У меня получилось такая: >npm i react-test-renderer@17.0.2 --save-dev. Все тесты как на видео прошли. Димон: "Я красавчик, ну и значит и вы красавчики. Смотрим, кто случайно закомментировал и отрываем тому руку, друзья!" Идем дальше.

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

      Привет, у меня такая же версия реакта, но не пошло. Ругается на зависимость react-redux. Кстати у тебя какая версия react-redux сработала?

  • @maksym_shkaf
    @maksym_shkaf 3 ปีที่แล้ว

    тестируем компоненты, тесты, react-test-renderer - React JS
    Спасибо!)

  • @sharkman6434
    @sharkman6434 3 ปีที่แล้ว

    стируем компоненты, тесты, react-test-renderer - React JS test jest react mock testing components спасибо бро !

  • @МихаилЗавражин-и7ь
    @МихаилЗавражин-и7ь 5 ปีที่แล้ว

    Спасибо что продолжаешь выкладывать я сейчас активно учу js после начну Реакт продолжай выкладывать спасибо

  • @СтепанПалий-д9ж
    @СтепанПалий-д9ж 4 ปีที่แล้ว +16

    18:06 "скопирую этот код". поржал, спасибо )))

  • @bitcoin-
    @bitcoin- 5 ปีที่แล้ว +4

    тестриуем компоненты, react-test-renderer - React JS

  • @vladimirww5152
    @vladimirww5152 3 ปีที่แล้ว

    Полезная штука, эти тесты для JS и React и Redux!

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

    сегодня тоже, только утром сидела тупила минуту вспоминала как length пишется))

  • @ole_oli
    @ole_oli 3 ปีที่แล้ว

    Спасибо Димычь. Понял как тестить. Видос огонь, как всегда. react-test-component.

  • @ПараСлов-н2и
    @ПараСлов-н2и 3 ปีที่แล้ว +1

    tdd крутой вводный урок получился! Спасибо!

  • @ctumyji9737
    @ctumyji9737 4 ปีที่แล้ว

    Спасибо за урок! Было интересно и познавательно! Летим дальше!
    React JS от Димыча - бомба! :)

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

    Урок 92. Пишу свой белорусский социально-экологический проект. Комент как благодарность (:

  • @travelOpens
    @travelOpens 3 ปีที่แล้ว

    Была ошибочка у меня. При проверки записи в стейт, ничего не передавалось. Все что было с статусами падало. Спустя пол часа проб и ошибок, оказалось что у нас в стейте написано "!this.props.status". Если удалить восклицательный знак, все тесты стали успешными. #react #react-test-renderer #react-test
    Благодарю Димыч и с ДР !)

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

    The brilliant course

  • @shamilsalakhutdinov5519
    @shamilsalakhutdinov5519 4 ปีที่แล้ว +16

    23:10 лол, вчера Маск, и правда, запустил ракету в космос 0о

    • @ЮрийМясников-н5щ
      @ЮрийМясников-н5щ 4 ปีที่แล้ว

      И это была первая частная компания которая доставила космонавтов на МКС

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

      @@ЮрийМясников-н5щ так все равно кредит государство дало

    • @owl_house2197
      @owl_house2197 3 ปีที่แล้ว

      А Реакт постепенно сдает позиции mobx)

  • @АзимАзимов-ч1й
    @АзимАзимов-ч1й 5 ปีที่แล้ว

    Круто что продолжаешь выкладывать уроки. Я только на 37 но дойду до конца

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

    Смотрю пока что 10-ый выпуск, многие моменты стали понятными. По документации не мог понять, спасибо тебе за контент!

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

    ох и намучался я с версиями react-test-renderer ,что бы заработало)))

  • @arayoflight
    @arayoflight 4 ปีที่แล้ว

    react-test-renderer - React JS. В VSC тесты можно запустить в сценариях npm, нажав run на test. Правда, они все сразу запускаются, но занимает это секунды.

  • @semial
    @semial 4 ปีที่แล้ว

    Спасибо за урок!
    react-test-renderer reactjs react redux

  • @ЛусінеАтаджанян
    @ЛусінеАтаджанян 3 ปีที่แล้ว

    Дима,красавчик. mock, Jest, react-test-render, TDD. Честно говоря, не самая приятная тема, но что поделать. По-прежнему лучший курс по React JS и JavaScript

  • @bitcoin-
    @bitcoin- 5 ปีที่แล้ว

    Мне понравилась тема!Буду ее изучать глубже!

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

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

    • @ITKAMASUTRA
      @ITKAMASUTRA  5 ปีที่แล้ว

      Неа... буду гуглить!!

    • @r_yunusov
      @r_yunusov 5 ปีที่แล้ว

      @@ITKAMASUTRA я думаю твое выступление помогло бы в развитии инкубатора)

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

    Димыч ты как всегда зе бест оф зе бест оф зе бест! Кросавчег! Твоя подача и объяснения - уникальны. Даже на англоютубе я такого не видел Ты крут! Я уже устроился, но на работе нужно внедрять тестирование, нигде нормального контента не нашел на эту тему пока, только здесь! !"На пальцах разжевал" )))

  • @mykhailostepanishchev6472
    @mykhailostepanishchev6472 4 ปีที่แล้ว

    Спасибо классный выпуск ! react-test-renderer - React JS

  • @ЮлияМарченко-э1ж
    @ЮлияМарченко-э1ж 4 ปีที่แล้ว

    Спасибо за урок! Тестирование компонент, react-test-render, jest

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

    Greate lesson! Test Driven Development))

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

    React-test-renderer , react , redux, jest, тестируем компонент ! 🚀

  • @ivanmiarkulau8320
    @ivanmiarkulau8320 3 ปีที่แล้ว

    TDD - это тема) jest - удобный инструмент для тестирования)

  • @denweb2408
    @denweb2408 5 ปีที่แล้ว

    Классный урок по тестированию)!

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

    этот урок можно просто просмотреть ))

  • @pauldudich
    @pauldudich 3 ปีที่แล้ว

    react-test-renderer хорошая штука для теста

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

    лично мне это показалось самым мрачным за весь курс))

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

    У меня одного после рефакторинга сломался Redux-form ? как то работает не корректно... набираешь текст и только когда нажимаешь отправить тогда только пишет за максимальное количество символов... ?

  • @STRIPPEDSTAR
    @STRIPPEDSTAR 3 ปีที่แล้ว

    Тесты это щикарно)

  • @ollegat
    @ollegat 5 ปีที่แล้ว

    С компонентами вообще не понятно как и что тестировать, но Димыч как всегда поливает свет знаний!

  • @akuma8865
    @akuma8865 4 ปีที่แล้ว

    Тестирование, компонента, jest!

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

    react-test-renderer - React JS курс супер

  • @hrachhambardzumyan3300
    @hrachhambardzumyan3300 5 ปีที่แล้ว

    Привет ! ! ! . Большое спасибо за курс .

  • @kuko932
    @kuko932 3 ปีที่แล้ว

    "Starting from version 3.3.0 create-react-app uses react-testing-library as the default testing library.
    I wrote this guide before react-testing-library was a thing: it focuses mostly on react-test-renderer/Act API which are a bit more low level." цитата из статьи из видео

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

    Ребят для тех кому интересно как тестят нынче th-cam.com/video/ZmVBCpefQe8/w-d-xo.html наиболее адекватное видео которое показывает современный синтаксис для тестов, если нашли более понятное - не зажмите ссылку..

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

      Годно!

    • @Yukrop
      @Yukrop 3 ปีที่แล้ว

      Очень годно спс

  • @olegthesheriff
    @olegthesheriff 3 ปีที่แล้ว

    Тесты, тесты, ох как не просты!

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

    Спасибо Дима, приходилось немного писать на работе авто-тесты на Python используя библиотеку Selenium, очень нравилось, жаль что с мобилизацией прикрыли курс. Так вот в целом похоже)

  • @dw_tv3992
    @dw_tv3992 3 ปีที่แล้ว

    2021г.... Илон по прежнему лишь мечтает.... Redux React по-прежнему актуальны😎

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

    "а потом смотрим, кто это закомментировал, и отрываем ему руки" (с) 😆

  • @Олеся-ж9р2ч
    @Олеся-ж9р2ч ปีที่แล้ว

    Ребята подскажите, может что то я упустила , как фото поставить в Users, когда вставляю фото все превращается в одну фотографию, в каком файле нужно ставить

  • @Al4ii
    @Al4ii 3 ปีที่แล้ว

    Увидел Димыча - поставил лайк!!

  • @СергейШорников-м9э
    @СергейШорников-м9э 2 ปีที่แล้ว

    React-test-renderer , react , redux, jest, тестируем компонент !

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

    Testing component in React: взрыв мозга, у меня тест не прошел, работаю в Visual Code, Visual дебажит внутри везде только не в тестовых файлах. В самом тесте пришлось компонент в create обернуть не видел store. Потом ошибка падала на getInstance, сейчас ошибка падает на expect :))) Вообщем все хорошо, как обычно что то не получается - летим дальше, тесты пока отложил, вернусь к ним в течении недели )

    • @vitaliyirtlach
      @vitaliyirtlach 4 ปีที่แล้ว

      Если ты еще задаешься данным вопросом то оберни свою компоненту в BrowserRouter и Provider и не забудь сделать импорты!

  • @sanbuz
    @sanbuz 8 หลายเดือนก่อน

    Спасибо

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

    Дима, огромная просьба! Пожалуйста, сними ролик как удалять сообщения. Очень много времени потратил и не получилось ничего сделать. Всем будет очень полезно узнать, как сделать это грамотно. Спасибо!

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

    В итоге сделала с помощью react-testing-library, который уже был установлен в приложении и тестировала не классовый компонент, а функциональный компонент с хуками)

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

    у меня в App.test.js был такой код , и вызвало ошибки
    test('renders learn react link', () => {
    const { getByText } = render();
    const linkElement = getByText(/learn react/i);
    expect(linkElement).toBeInTheDocument();
    });
    долго мучился, потом сделал как в видео заработало, видать версия react другая и там логика поменялось
    it('renders without crashing', () => {
    const div = document.createElement('div');
    ReactDOM.render(, div);
    ReactDOM.unmountComponentAtNode(div);
    });

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

      У тебя первый тест не работал, потому что он в искал ссылку с текстом 'learn react'.. Мы её удалили в самом начале. И так как не было этого текста, то он ничего и не находил -> ошибка

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

    React jest тесты проходятся и на typescript тоже, но приходится ставить @ts-ignore перед expect(instance.state.status) и instance.deactivateEditMode().

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

      Без связи, вам не хватает скорее всего типизации для jest.
      @types/jest проинсталлируйте.
      Так же, вы должны передать тип инстанс, если вы хотите так ей пользоваться. Описать интерфейс типа.
      Но лучше посмотрите, как использовать jest более эффективно, через spyOn, в этом случае.
      А лучше всего возьмите отдельный курс по тестированию, это сразу вас о делит от всех других джуниоров на те же вакансии.
      @ts-ignore это никогда не выход. Ну практически. Тогда вообще не стоит писать с типами.

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

      @@MugivaraLuffy спасибо)

  • @ГеннадийГорохов-ц8н
    @ГеннадийГорохов-ц8н 2 ปีที่แล้ว

    Сегодня 19.11.21г Очень понравился урок по тестированию реакта!

  • @vtsel-lp4jv
    @vtsel-lp4jv 2 ปีที่แล้ว

    тестируем компоненты, тесты, react-test-renderer - React JS

  • @MrSvent0vit
    @MrSvent0vit 4 ปีที่แล้ว +37

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

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

      помогаем Димычу!!! А вы лайком подняли нужную инфу?

    • @indigosay8272
      @indigosay8272 4 ปีที่แล้ว +6

      угу надо спасибо писать под 1 комментом автора, а остальные комменты должны по делу чисто

    • @olegzidane7099
      @olegzidane7099 4 ปีที่แล้ว

      кстати, да))))

    • @АндрейВерхулин
      @АндрейВерхулин 3 ปีที่แล้ว

      @@indigosay8272 ты думаешь эти комменты бесполезные великие умы современности пишут? Димыч же еще вначале курса сказал, "у меня могут обучаться домохозяйки". Вот кто эти люди

    • @Украинец-м3х
      @Украинец-м3х 3 ปีที่แล้ว

      согласен, и у всех все идеально работает нихера не ломается...

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

    Длинное видео, но полезное и интересное!

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

    react-test-renderer mock, react test app redux, летим в космос

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

    Когда у вас тест проходит "pass" но вылетает ошибка "wrapped into act(...):" используйте import {act} from "@testing-library/react"; и оберните код в act(() => { code.. })

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

    Димыч спасибо ! TDD React Jest ❤

  • @АнтонСоколов-щ4ю
    @АнтонСоколов-щ4ю 2 ปีที่แล้ว

    тестируем компоненты, тесты, react-test-renderer