PYTHON PYTEST. ОСНОВЫ. 1 ЧАСТЬ

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ • 87

  • @aibolsaukymuly6945
    @aibolsaukymuly6945 Рік тому +4

    Я полный 0 и в python, и в программировании, но даже для меня всё понятно. Спасибо автору

  • @luchanos
    @luchanos  4 роки тому +27

    Ошибка pip была потому что я сделал описку) надо было написать pip install -r requirements.txt)))

    • @timapigolev1640
      @timapigolev1640 Рік тому +1

      Когда автор делает такие детские ошибки, возникает сомнение в его компетенции. Более того файл requirements не создаётся в ручную, после установки всех пакетов в виртуальное окружение выполняется команда pip freeze > requirements.txt

    • @luchanos
      @luchanos  Рік тому +2

      @@timapigolev1640 а вы не сомневайтесь, идеальный вы наш :D

    • @ЕгорМиронов-щ3п
      @ЕгорМиронов-щ3п 4 місяці тому

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

  • @andyanderson222
    @andyanderson222 3 роки тому +7

    Класс! Очень полезный и качественный урок! Большое Вам спасибо.

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

    Спасибо! Привет с канала Django school, рекламирует вас.

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

      Спасибо большое вам и Михаилу!!

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

    Хм, я работаю в VSC, а у Вас, я так понимаю это PyCharm, который автоматически закрывает многие вещи, которые надо делать руками, вроде настройки конфигурации. Я ещё после прикола с лампочкой долго разбирался с правильным импортом модуля. А понажимать в PyCharm правильную последовательность и всё готово неправильный подход. Раз это первый, вводный урок надо показать как и что работает под капотом

    • @gost-dev
      @gost-dev Рік тому +1

      Новичкам pytest не нужен.

    • @dippdp1108
      @dippdp1108 Рік тому +2

      ​@@gost-dev а неновички работают в пайчарм часто? У меня большинство на vim, я на vsc ещё иногда

    • @pashulkin8054
      @pashulkin8054 2 місяці тому

      Для конфигурации я пользовался флагами в терминале
      python3 -m pytest …(относительный путь к файлу)

  • @evgenysheremet9176
    @evgenysheremet9176 3 роки тому +5

    Спасибо, все очень понятно и доступно, продолжайте!

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

    Благодарю! Очень доходчиво и понятно, спасибо за труд))

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

    для новичка это хорошее объяснение!

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

      благодарю! вы самый благодарный комментатор :D

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

      @@luchanos Пожалуйста ! Материал действительно хороший!

  • @hlypenkosasha
    @hlypenkosasha 4 місяці тому

    Спасибо! Понятно объясняете!

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

    Нормальный видос, все по делу!

  • @katek5369
    @katek5369 2 місяці тому

    Спасибо❤

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

    толково объяснил! спасибо!

  • @БурлаковВалерий
    @БурлаковВалерий 2 роки тому

    Спасибо, было здорова!!!

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

    Прекрасно, можно сказать, чутко разъяснено) спасибо)

  • @сергейустинов-э1с

    На джаве один такой мелкий тест с параметризацией занимает около 30 строк кода)))

  • @АрсенийКузнецов-ь7н

    Отличный урок !!

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

    Большое спасибо за декоратор к pytest

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

    супер, спасибо ❤

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

    Спасибо) очень годно

  • @ОльгаСементина-з6н
    @ОльгаСементина-з6н 2 роки тому +2

    Спасибо за урок! Не подскажете, можно ли в VS Code так же настроить отображение дерева пройденных тестов для удобного анализа?

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

      я думаю что можно - у меня знакомые там пишут код, но я в vscode не работал к сожалению

    • @ОльгаСементина-з6н
      @ОльгаСементина-з6н 2 роки тому

      @@luchanos Спасибо! Буду разбираться

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

    Спасибо помогло разобраться

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

    Супер, все доходчиво.

  • @Всепровсе-б2х
    @Всепровсе-б2х 3 роки тому +1

    Спасибо!

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

    Класс!
    А про coverage, будете рассказывать?
    А еще интересна работа с базами данных не мокая их.
    И работа с pre-commit )

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

      Да) все это будет!) Сейчас у меня много контента в работе, по пайтесту будет ещё работа с докерами и базами в них)

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

    Чем pytest отличат от union тестов ?

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

      наверное вы имеете в виду unit) pytest по функционалу просто невероятно больше)

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

      @@luchanos да, unit

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

    Super!!!

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

    Спасибо большое вам

  • @99phenomenon
    @99phenomenon 2 роки тому

    Well Done!

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

    Первое что мне всегда бросалось в глаза при использовании parametrize, не очень читаемое описание передаваемых параметров в квадратных скобках, я из-за этого старался их упаковывать в список констант, иногда передавал строки обрамленные пробелами а потом делал strip в самом тесте.

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

    всё понятно даже без звука

  • @АгатаБобылева
    @АгатаБобылева 4 роки тому +1

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

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

      но зочем?)))

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

    питонячая жизнь - это сурово, но никуда не денешся, такова уж жизнь

  • @Kirill-Kantur
    @Kirill-Kantur 3 роки тому +6

    Хорошая идея, но реализация подкачала :(. Это же не лайф-видео: можно же было сделать второй дубль для корректной работы pip install.
    Дальше, "я нажимаю красную лампочку" - это вообще неправильно. Вы не можете знать, что за ide установлена у учеников. Рассчитывать приподаче материала нужно на худшее: если уж не на блокнот, то на idle.
    Желаю Вам становиться лучше в будущих видео!

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

      спасибо! я не стою на месте, докупаю оборудование и ролики будут пересниматься в скором времени и упаковываться в плейлисты с курсами)

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

    Полезные полезности!

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

    оч полезно спасибо

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

    Здравствуйте. Благодарю конечно, но есть но, не понятно что Вы имели ввиду порог достаточно низкий. Вот я человек с стороны наткнулся на ваше видео и решил повторить ваш опыт (Урок). С первых минут просмотра не понятно что Вы вообще делаете начиная от среды в которой это всё происходит. У вас уже открыта программа. Было бы здорово если бы Вы сразу озвучили. В какой среде происходят действия или ссылка на прошлый урок. Или сказать установите тото и тото, подтяните библиотеки, что бы их подтянуть сделаем вот так: и подробно описать процесс

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

    Спасибо

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

    Спасибо за видео ,прям супер )) Скажите а селениум будет ? :)

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

      на здоровье!!! стараюсь освободить время под новый контент, очень сейчас плотно все загружено) по поводу селениума - к сожалению мало опыта с ним имел, но знаю, что на нём можно прикольные smoke-тесты писать для сайтов и веб-приложений, у которых есть полноценный фронтенд)

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

    И все таки не понятно нифига для чего эти тесты нужны, какие еще есть объяснения для понимания?

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

      В проектах тысячи функций, с каждым надо так корячиться?

  • @mylife-ej8et
    @mylife-ej8et 2 роки тому

    Спасибо за хороший контент

  • @ЕвгенийСократов-о9щ
    @ЕвгенийСократов-о9щ 9 місяців тому

    Решение проблемы с импортом, в случае, если она есть
    import sys
    sys.path.append('/home/sokratov/PycharmProjects/pythonProject/.venv/src')
    from utils import division
    import pytest

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

    А тесты на тесты бывают?

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

      Зочем?)

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

      @@luchanos ЧТобы проверить тесты ,а то вдруг неправильно .

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

      @@tohoto2183 нет, такие тесты не пишут)

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

      @@luchanos пишут тесты на фикстуры, так что пишут тесты на части тестов))

  • @АлександрЛобанов-р6с

    4:20 флаг -r забыл

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

    -r же )

  • @ASNasa-fw5tv
    @ASNasa-fw5tv 3 роки тому +1

    как то не подготовились вы к уроку... то не получилось установить pytest 4:00, то забыли добавить конфигурацию 8:00. про monkey кодил за вами и ничего не получилось, при выполнении теста пишет: "ModuleNotFoundError: No module named 'pytest' "

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

      добрый день! предлагаю вам потратить своё личное время и записать свои обучающие материалы, а мы их с удовольствием их потом оценим) что касается вашей проблемы - убедитесь в том, что работаете с тем интерпретатором, на который осуществляете установку библиотеки.

  • @ИннаЛиксакова-о4н

    видео топ, но воды много, тоже самое можно было и в шесть минут уложить

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

    Всё ок. Но звук клавиш убивает мои уши. 😀 Я теперь ненавижу твой пробел и ввод...

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

      Прости, это было время когда я только начинал

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

    У тебя не получилось даже установить зависимости через терминал, о чем ты можешь вещать?

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

      О, хейтер)) я могу вещать о чём захочу) спасибо за просмотр)

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

      @@luchanos тебе не понять мою точку зрения, правда у всех своя

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

    Как-то громоздко это все, не?

  • @ВикторКозлов-г6б
    @ВикторКозлов-г6б 4 роки тому +3

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

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

      да, но стоит писать для того, чтобы понять механику работы) скоро покажу кое-что посложнее)

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

      все руками не проверить, и пусть кода больше, но ручной работы меньше!! Профит! Автоматизация - ключ к прогрессу! ML & automation это тренд 2021 года!

    • @ВикторКозлов-г6б
      @ВикторКозлов-г6б 3 роки тому

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

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

    нихрена не работает

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

    pip3 install -r requirements.txt

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

    pip install -r requierements.txt

  • @stanislavzonov
    @stanislavzonov 5 місяців тому

    Не понимаю почему постоянно вылазят ошибки с TypeError and ZeroDivisionError такого плана:
    > with pytest.raises(TypeError):
    E Failed: DID NOT RAISE
    def test_zero_ghost():
    with pytest.raises(TypeError):
    ghost(0, '44')
    > with pytest.raises(ZeroDivisionError):
    E Failed: DID NOT RAISE
    def test_zero_ghost():
    with pytest.raises(ZeroDivisionError):
    ghost(0, 44)
    Даже если так делать все равно та же ошибка
    @pytest.mark.parametrize('expect, param, tamtam', [(ZeroDivisionError, 0, 10), (TypeError, "3", 43)])
    def test_all_ghost_false(expect, param, tamtam):
    with pytest.raises(expect):
    ghost(param, tamtam)

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

    Спасибо.

  • @innstenar
    @innstenar Рік тому +1

    pip install -r requirements.txt