Unit тесты в Python. Тестирование кода | Базовый курс. Программирование на Python

Unit тесты в Python. Тестирование кода | Базовый курс. Программирование на Python

Sweet Coder

3 года назад

44,890 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@user-yr8xv2tv1p
@user-yr8xv2tv1p - 28.10.2023 02:13

Как фреймворк видит методи, которие начинаются на test_?

Ответить
@NoName-hi8bv
@NoName-hi8bv - 18.10.2023 18:54

genius, ты показал максимально обсосанный пример, то как работает программа должно быть определенно на этапе проектирования приложения, на этапе получения данных от пользователя должна быть проработана предварительная валидация данных. Если приводить примеры тестирования, то можно выделить пару примеров, например тестировать поведение функции, при вводе условно верных данных, например вы пишете фикцию для каких то вычислений, она безумно сложная и занимает 20 строк кода, и выполняется секунд пять, вы её тестируете сопоставляя с заведомо верными данными, но программист B, решает что данная функция является узким местом программы из за частого его вызова программа тратит много времени на вычисления. После внесения корректировок программистом B программа начала работать и правда быстрее, но благодаря тестам может всплыть что она выполняет задачу с ошибкой, например при вводе отрицательных чисел или float или 0. Так что во многом тесты помогают разработчикам быть уверенным что их код работает так как ожидается.

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

Ответить
@waydaysay
@waydaysay - 28.07.2023 11:29

Я не совсем понял хотя посмотрел его несколько раз

Ответить
@kuaranir2440
@kuaranir2440 - 26.07.2023 18:23

А смысл писать Юнит-тесты, если тебе все равно придётся прописывать в своем коде те же условия, из-за которых провален Юнит-тест?
А откуда ты вообще берешь критерии для Юнит теста??
То есть суть Юнит теста такова: Я конструирую супер-прочный телефон. Делаю сначала говно, иду тестить его путем бросания на асфальт. Он естественно разбивается. И я такой: "ага, надо сделать ударопрочный корпус". А почему бы мне тогда сразу не делать ударопрочный корпус, лол

Ответить
@user-cd9tj2tw1z
@user-cd9tj2tw1z - 13.05.2023 11:13

up

Ответить
@user-gl1vz8wk8m
@user-gl1vz8wk8m - 16.02.2023 15:56

Кива ввёл отрицательный радиус

Ответить
@asm64
@asm64 - 24.01.2023 17:15

Чётко объяснил )

Ответить
@user-ps6ui6tq8b
@user-ps6ui6tq8b - 09.10.2022 15:35

АХАХАХАХ ЗА дегтярева в списке глупых отдельный плюс!))

Ответить
@GladSpiR
@GladSpiR - 22.07.2022 21:48

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

Ответить
@masterprotocol
@masterprotocol - 21.06.2022 16:34

ты настолько много куришь что даже через видео запах идёт голимый

Ответить
@AleksandrGrebelnyi
@AleksandrGrebelnyi - 12.06.2022 20:36

спасибо. люблю твои видосы, и лёгкий, но острый юмор👍

Ответить
@mlr__roal_6867
@mlr__roal_6867 - 26.05.2022 12:39

Неный? Ты че, гей?

Ответить
@izzzanaaami
@izzzanaaami - 01.05.2022 19:40

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

Ответить
@rockkley9159
@rockkley9159 - 30.04.2022 16:46

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

Ответить
@PythonDevelopment
@PythonDevelopment - 15.03.2022 10:02

Спасибо большое. Хотелось бы больше материала по тестам, особенно как писать тесты на приложения из жизни

Ответить
@user-nh2qb2nf6v
@user-nh2qb2nf6v - 14.03.2022 14:31

Доброго.
Почему-то тесты по программе из примера:
self.assertRaises(TypeError, circle_area, 'df')
self.assertRaises(TypeError, circle_area, [12,12])
self.assertRaises(TypeError, circle_area, {"1":"123"})
не выдают ошибку.
Однако вот этот тест выдал ошибку.
self.assertRaises(TypeError, circle_area, True)
Запуск делал до покрытия тестами основного кода.

Ответить
@9_killa
@9_killa - 12.03.2022 10:15

У меня почему то Ran 0 test in 0.000s.
То с чем св'язано?

Ответить
@sgatrade8719
@sgatrade8719 - 24.12.2021 19:06

ну, теперь можно идти гробить печень)

Ответить
@leosv0
@leosv0 - 04.12.2021 06:44

Отличное познавательное видео!

Ответить
@celticrain25
@celticrain25 - 24.11.2021 23:33

Это прям как "сам себе QA"

Ответить
@fionover9816
@fionover9816 - 05.11.2021 20:01

Спасибо за видео :)

Ответить
@blackcat_77
@blackcat_77 - 03.11.2021 14:42

Спасибо, все очень четко и лаконично.! Почему так мало лайков.

Ответить
@user-hr3nk7mb5z
@user-hr3nk7mb5z - 27.10.2021 06:48

Спасибо за ваш труд

Ответить
@PROswimming
@PROswimming - 08.10.2021 15:59

Уважаемый блогер, здравствуйте. Объясните пожалуйста, как понять от какого класса мы должны наследовать класс, который мы сейчас задаем? Это в какой-то документации прописано или мы придумывать должны? У вас в данном случае наследуется от класса unitest.Testcase. Не понимаю, откуда вы взяли Testcase? Это модуль в классе unitest? спасибо

Ответить
@OleksandrMatviienko
@OleksandrMatviienko - 27.09.2021 21:37

спасибо

Ответить
@bullcode8406
@bullcode8406 - 18.09.2021 09:43

Привет! Изучаю Python и соответственно пишу очень много всего разного, от а+а до генераторов с функциями и прочего (пока на стадии генераторов и функций). При тесте задачи постоянно приходится ее перезапускать и вводить разные данные, int, float, str, коллекции и тд. Правильно ли я понял из видео что моих ручных проверок в каждой второй задаче можно избежать написав юниттест?
И наверное можно на такой случай написать универсальный тест и просто импортировать его в свои задачи?
Спасибо за видео на канале! Я, конечно же подписан, лайкаю и нажал на колокольчик:)

Ответить
@xm4dn355x
@xm4dn355x - 30.08.2021 14:36

Бро, было бы круто ещё про тестирование БД, Моки и тесты для внешних API ))) А то там уже шкала сложности усвоения документации по unittest мгновенно взлетает по экспоненте)))

Ответить
@amerigovespucci1499
@amerigovespucci1499 - 23.08.2021 21:41

У меня при вводе python -m unittest "название файла".ру, выдает ошибку. Говорит, файл не найдет. Что можно с этим сделать?

Ответить
@tema_skakun
@tema_skakun - 13.08.2021 00:00

спасибо тебе человек за этот великолепный ролик. подписался)

Ответить
@user-ts8yl9px6n
@user-ts8yl9px6n - 06.08.2021 13:50

Просто волшебно рассказал. Просто отлично!!

Ответить
@Dandi_jr
@Dandi_jr - 02.08.2021 12:58

Чтоб писать юнит тест нужно знать где вылезет ошибка? Если я знаю где слабое место, я и так его могу исправить.
Как можно найти слабости, которые сам не заметил?

Ответить
@Dandi_jr
@Dandi_jr - 02.08.2021 12:47

кива не глупый. кива уже кандидат наук!))

Ответить
@KovalchykIgor
@KovalchykIgor - 24.07.2021 13:13

Лайк за шутки!)

Ответить
@poaleell
@poaleell - 18.07.2021 03:01

Гробить печень - зачёт!

Ответить
@noone-hi6kq
@noone-hi6kq - 13.07.2021 18:42

сЭрвис блеят)))))))

Ответить
@drongerman536
@drongerman536 - 13.07.2021 13:56

Вопрос, а как ты запускаешь код из консоли атома, или это сторонний плагин?
Отпиши если не сложно)

Ответить
@sg6630
@sg6630 - 07.07.2021 12:31

йад

Ответить
@Daibend
@Daibend - 02.07.2021 00:00

Ящик пива этому гению!!!

Ответить
@user-et4ll2jr8w
@user-et4ll2jr8w - 15.06.2021 13:22

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

Ответить
@annamur6143
@annamur6143 - 03.06.2021 11:20

Спасибо!!!

Ответить
@testingcoder
@testingcoder - 13.05.2021 01:53

Популяризация написания юнит тестов - дело хорошее и нужное. Но (ИМО), без TDD теряется до 70% профита от юнит тестов.

Ответить
@olegborodenko4937
@olegborodenko4937 - 27.04.2021 17:48

Спасибо, очень познавательно!

Ответить
@Gigantovod
@Gigantovod - 21.04.2021 01:02

Похоже тема поживее пошла, тут уже комменты подгребают... Даёшь 100 000 лайков и 100 500 комментов!

Ответить
@user-xq4iz1zk1z
@user-xq4iz1zk1z - 16.04.2021 21:26

Используйте isinstance() вместо type() %)

Урок полезный, спасибо)

Ответить
@liho26
@liho26 - 11.04.2021 11:01

а в чем разница между unittest и pytest, например?

Ответить
@magictime8959
@magictime8959 - 30.03.2021 20:39

"Нежный" кодер

Ответить
@dackbird2431
@dackbird2431 - 13.03.2021 00:14

как на пайтон тестить допустим c# код??

Ответить
@RayUa
@RayUa - 11.03.2021 09:36

Ааааа, Кива с Бужанским прям на своих тупых местах!😆
Спасибо!👍👍👍👍

Ответить