@ru_python

Страница 7270 из 9768
LighteR
03.12.2018
20:01:10
Почему нельзя написать тесты без реальных звонков?

mock'и и вот это вот все

LighteR
03.12.2018
20:03:02
ну т.е. бывает конечно спагетти-код, которой очень сложно покрыть unit-test'ами, но тут вы уж сами себе виноваты, а не python

Google
Марк
03.12.2018
20:03:55
Почему нельзя написать тесты без реальных звонков?
Потому что ты не можешь сымулировать прохождение звонка через GSM. А там могут быть всякие ситуации. И тот звонок, который с виду дефектный, по факту оказывается очень даже валидным

Belegnar
03.12.2018
20:04:28
Есть функция, есть количество входных параметров и количество ожидаемых результатов

Марк
03.12.2018
20:05:24
По чем тут звонок, вообще? Функциональное тестирование
Притом, например, что на трех операторах поведение флоу одно, а на четвертом оно отличается. И тоже валидно.

Владимир
03.12.2018
20:05:54
Притом, например, что на трех операторах поведение флоу одно, а на четвертом оно отличается. И тоже валидно.
но мы же про юнит-тестирование говорим, там звонок нахрен не сдался, как правильно сказали выше

Марк
03.12.2018
20:07:28
Есть функция, есть количество входных параметров и количество ожидаемых результатов
Ты не знаешь входящие параметры точно. И точно не знаешь, как их обрабатывать из-за большого разнообразия вариантов, которые тяжело читать и их можно проверить только живым человеком.

Belegnar
03.12.2018
20:07:31
А сколько строк в функции, которую поломали? ?

LighteR
03.12.2018
20:07:56
Tishka17
03.12.2018
20:08:26
Ты не знаешь входящие параметры точно. И точно не знаешь, как их обрабатывать из-за большого разнообразия вариантов, которые тяжело читать и их можно проверить только живым человеком.
Ну бывают конечно кейсы, но в основном можно предположить какие варианты ты все таки реализуетюшь и проверить, что хотя бы на них прога работает

Марк
03.12.2018
20:08:29
Google
Владимир
03.12.2018
20:08:49
Ты их туда не подаешь. Их туда подает гейтвей войпа.
но вы же от него что-то ждете, там дока есть что он может подать и т.п.

Sergey
03.12.2018
20:09:30
Подскажите, очень часто в туториалах встречаюсь с такой группой - www-data. Это какая-то стандартная группа должна быть при установке nginx или это просто распоcтраннёная практика?

LighteR
03.12.2018
20:09:44
Ты их туда не подаешь. Их туда подает гейтвей войпа.
У тебя по ошибке появились лишние отступы и код попал в какой-то блок (if например), этот if основывается на каких-то входных параметрах

Марк
03.12.2018
20:09:59
А сколько строк в функции, которую поломали? ?
Без разницы. Эти три строки ушли под условие, которое срабатывать должно крайне редко.

LighteR
03.12.2018
20:10:02
т.е. тех параметрах, про которые ты точно знаешь, что они есть

Владимир
03.12.2018
20:10:27
короче нет там тестов вообще походу

Belegnar
03.12.2018
20:10:37
Вот-вот

LighteR
03.12.2018
20:10:47
Belegnar
03.12.2018
20:10:55
И платят по часам ?

LighteR
03.12.2018
20:10:58
и умения их писать тоже нету

Владимир
03.12.2018
20:11:13
это сразу было понятно
не сразу.. я до последнего верил, что какой=то конкретный кейс лень покрыть.. но нет, похоже вообще нет(

Марк
03.12.2018
20:11:20
Их нельзя написать

Владимир
03.12.2018
20:11:39
Belegnar
03.12.2018
20:11:41
LighteR
03.12.2018
20:11:46
Их нельзя написать
Приведи кусок кода, на который по-твоему нельзя написать тест

Belegnar
03.12.2018
20:12:06
Пока это утверждение сродни "программу нельзя написать"

Владимир
03.12.2018
20:12:33
Без разницы. Эти три строки ушли под условие, которое срабатывать должно крайне редко.
вот конкретно по этому сообщению яуверен, что как минимум это условие можно было протестировать

Марк
03.12.2018
20:12:36
Я выше пояснял, почему нельзя. Если были бы вы правы, то у нас охуеть какие бы продукты выходили повсеместно незабагованные. А что не игра, то ёрли аксесс с ложащими сервак тремя атомными бомбами.

Это все классно, когда ты морды пишешь на джанго

Google
Belegnar
03.12.2018
20:13:30
Все твои слезы - в пользу бедных

LighteR
03.12.2018
20:13:44
ты пример кода-то покажи

Владимир
03.12.2018
20:14:44
можно даже конкретный кусок который сломался на отступах

Rio
03.12.2018
20:15:32
Есть ли у кого-нибудь ссыль на современный туториал по разворачиванию веб-приложения?

Марк
03.12.2018
20:15:33
Пример кода выше уже показали

Владимир
03.12.2018
20:15:55
Belegnar
03.12.2018
20:16:10
Пример кода выше уже показали
Пример выше покрывается юнит-тестом с моками

LighteR
03.12.2018
20:16:16
Пример кода выше уже показали
Ну этот пример изи покрывается unit test'ом

Марк
03.12.2018
20:16:54
Ну этот пример изи покрывается unit test'ом
Если туда входит а б и в и ты точно знаешь, что это означает и как это обрабатывать

LighteR
03.12.2018
20:17:33
Если туда входит а б и в и ты точно знаешь, что это означает и как это обрабатывать
ну когда ты пишешь if ты же точно знаешь что ты проверяешь?

Владимир
03.12.2018
20:19:32
аааааааа, это провал хД

Нет.
а что тогда проверяет иф если вы не знаете что вы проверяете?

Марк
03.12.2018
20:20:20
Разные методы и функции обрабатывают поток конкурентно, а не последовательно. Там не линейный парсинг какой-то срани.

Владимир
03.12.2018
20:21:00
блеа.. опять про интеграционные тесты говорим походу..

Марк
03.12.2018
20:21:14
а что тогда проверяет иф если вы не знаете что вы проверяете?
Он в конкретном месте проверял наличие неизвестного статуса, который проявлялся раз в пару месяцев и непонятно, что это был за поток.

Google
Belegnar
03.12.2018
20:21:17
Владимир
03.12.2018
20:21:54
Он в конкретном месте проверял наличие неизвестного статуса, который проявлялся раз в пару месяцев и непонятно, что это был за поток.
значит в юнит тесте так и пишете "получив неизвестный статус ты должен среагировать вот так"

Alex
03.12.2018
20:22:21
Есть ли у кого-нибудь ссыль на современный туториал по разворачиванию веб-приложения?
https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04

Владимир
03.12.2018
20:22:21
а что он должен сделать при получении этого статуса?

Alex
03.12.2018
20:23:17
Есть ли у кого-нибудь ссыль на современный туториал по разворачиванию веб-приложения?
но не спеши делать 1-в-1 как написано в туториале. все зависит от того что это за веб-приложение и где ты его хочешь раздеплоить.

Марк
03.12.2018
20:23:27
Засигнались его наличие и снять дамп по мере возможности, чтобы было за что зацепиться. Дальше это нужно будет воспроизвести и вручную понять, что за звонок такой

Admin
ERROR: S client not available

Bogdan (SirEdvin)
03.12.2018
20:23:44
Вопрос только в времени и навыках

Марк
03.12.2018
20:24:13
Это очень смешно

Владимир
03.12.2018
20:24:16
Засигнались его наличие и снять дамп по мере возможности, чтобы было за что зацепиться. Дальше это нужно будет воспроизвести и вручную понять, что за звонок такой
нуу вот значит тест такой "если я получил неизвеастный статус я вызываю сигнал, если статус получен а сигнал не вызвался - тест провален"

Bogdan (SirEdvin)
03.12.2018
20:24:46
Это очень смешно
Очень смешно, когда вы парсите какие-то штуки наугад и говорите, что так и надо

Марк
03.12.2018
20:25:00
Ну т.е. код примерно такой if status not in KNOWN_STATUSES: make_dump_and_signal(data) ?
Там так и есть. И туда же затесалось условие, которое случайно табнулось в какой-то момент.

Марк
03.12.2018
20:26:02
Ну так этот код легко же покрывается тестами
Какими тестами, ало? Ошибок нет, с логикой всё впоряде кроме глюков, которые тяжело вообще идентифицировать.

Bogdan (SirEdvin)
03.12.2018
20:26:49
Кусок кода переехал в место, в котором выполняется редко, но с логикой все впорядке

Владимир
03.12.2018
20:26:52
Какими тестами, ало? Ошибок нет, с логикой всё впоряде кроме глюков, которые тяжело вообще идентифицировать.
если у вас была ошибка с отступом который затесался в ифе, т.е. код должен был быть не в ифе, а оказался в нем, то провалится тест которы должен был вызывать тот код который из-за ифа не вызвался

Google
LighteR
03.12.2018
20:26:57
еще до попадания его в продакшен

Rio
03.12.2018
20:27:36
но не спеши делать 1-в-1 как написано в туториале. все зависит от того что это за веб-приложение и где ты его хочешь раздеплоить.
В таком случае есть ли таблица или инфографика для разных видов приложение и мест деплоя?

Владимир
03.12.2018
20:27:54
Какими тестами, ало? Ошибок нет, с логикой всё впоряде кроме глюков, которые тяжело вообще идентифицировать.
если бы вы сбда скинули весь метод/функцию вам бы уже десяток тестов набросали которые отступы бы точно отловили

LighteR
03.12.2018
20:28:58
я даже хз что тут сказать

Владимир
03.12.2018
20:29:08
Хуякшен. Это циклы тестирования по шесть часов в день.
и чо? у нас в проекте сейчас 6к тестов, если запускать их локально они будут проходить часа полтора, но это не мешает нам работать т.к. есть CI/CD

Не отловили бы
так скиньте метод..

проверим

Владимир
03.12.2018
20:29:54
Что делает проект?
бэкоффис магазина

LighteR
03.12.2018
20:30:04
Там так и есть. И туда же затесалось условие, которое случайно табнулось в какой-то момент.

Марк
03.12.2018
20:30:17
бэкоффис магазина
То есть, база - морда?

Alex
03.12.2018
20:30:19
В таком случае есть ли таблица или инфографика для разных видов приложение и мест деплоя?
нет, есть навыки гугления, чтения документации и пользования головой.

Владимир
03.12.2018
20:30:39
То есть, база - морда?
база, api, микросервисы, фоновые параллельные задачи

Марк
03.12.2018
20:31:04
база, api, микросервисы, фоновые параллельные задачи
У тебя весь сет входящих и исходящих понятен, ало.

Это же просто

Владимир
03.12.2018
20:31:21
У тебя весь сет входящих и исходящих понятен, ало.
в if'е из примера тоже всё крайне понятно

LighteR
03.12.2018
20:32:05
У тебя весь сет входящих и исходящих понятен, ало.
Ты либо приведи пример if'а, который не покрывается тестом, либо прекрати уже хуйню нести

Владимир
03.12.2018
20:32:10
звонки у нас, кстати, тоже есть, робот клиентов обзванивает

Страница 7270 из 9768