Pytest #6.1: Фикстуры - Основы применения

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

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

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

    🎓 Практический курс по Backend разработке: artemshumeiko.ru
    💡 Попробуй онлайн-тренажёр для подготовки к техническому собеседованию: clck.ru/3B5gwP 💡
    Забирай роадмап изучения самого востребованного фреймворка на Python - FastAPI здесь: t.me/ArtemShumeikoBot

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

    Очень понятно и подробно) Спасибо!

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

    а почему не добавили фикстуру candies к параметрам usefixtures

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

    а так же через usefixtures мы не можем использовать candies?

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

    про параметризацию фикстур еще можно рассказать

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

    def test_list_candies(candies, empty_candies):
    Какая здесь будет последовательность выполнения фикстур? Сначала фикстура Candies или empty_candies?

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

      так понимаю тут ключевую роль играет параметр scope т.к у метода удаления он есть а у метода конфет его нет, то выполнится приоритетней тот у кого есть параметр scope, поэтому empty_candies выполнится раньше

  • @АлександрТарарин-в7ъ
    @АлександрТарарин-в7ъ ปีที่แล้ว +1

    Добрый день! Есть ли где-то репозиторий, в котором храниться изначальный код проекта, чтобы последовательно исправлять его вместе с уроками?

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

      Добрый день! Ссылки на репы всегда есть в описании под видео: github.com/artemonsh/pytest_course

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

    не знаю, почему мои комментарии удаляются, но если у вас ошибка с миграциями, пропишите параметр extra='allow' в SettingsConfigDict

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

    снова я с последовательностью видео, вы тестируете код, а я тестирую последовательность видеороликов хд, у вас уже 2 ерора

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

    расширенный курс по тестированию будет?)

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

      нет, постараюсь включить в этот курс максимум информации

  • @Dennis_Ritchie
    @Dennis_Ritchie 10 หลายเดือนก่อน

    еще бы на вопросы отвечал автор, комментов было бы больше

  • @andreyvaran-r9g
    @andreyvaran-r9g ปีที่แล้ว

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

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

      В коде написана абстракция для работы с базой данных. Этой абстракцией пользуется слой сервисов, который мы тестируем. И это позволяет как раз тестировать не библиотеку, а только работу слоя сервисов, который работает с данными, которые нам отдает одна библиотека (SQLAlchemy) и сериализует и валидирует другая (pydantic)

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

    пробую этот код у себя запускать. 1ый тест проходит, 2ой (test_list_candies) выдает AssertionError.
    не знаю как у вас работает, но у меня, словарь != екземпляру схемы.
    AssertionError: assert {'id': 1, 'owner': 'Даниил', 'state': 'full', 'title': 'candy1'} in [CandySchema(id=1, title='candy1', state='full', owner='Даниил'), ...]

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

      Необходимо сравнивать не словарик, а Pydantic-схему

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

      ​@@artemshumeiko
      в том то и дело что там нет Pydantic-схемы.
      в CandiesService.list(), TypeAdapter.dump_python() возвращает список словарей и тест не работает.
      Немного покопавшись - подозреваю что причина в коммите "upgrade pydantic".
      То есть тесты в видео рабочие, потому что там версия еще не та что в репозитории сейчас лежит.

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

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

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

      У меня тоже самое, что с этим сделали?

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

      Я в CandiesService.list(), вместо TypeAdapter.dump_python() сделал TypeAdapter.validate_python(). Вроде работает)