Size: a a a

testing_in_python

2021 November 21

А

Алексей in testing_in_python
А понял, делал такое на джаве. В случае питона и пайтеста - да можно, если надо реиспользовать логику пайтест тестов
источник

А

Алексей in testing_in_python
Если не надо и для апи - пайтест имхо там лишний
источник

OC

Oleg Chaplashkin in testing_in_python
вот я сделал подобное, наколбасил всякие костыли по типу ActionChains, проверок и jsonschema. Все работает, с одним но :) - очень и очень медленно. У меня платежный процессинг, я спокойно 200-300 RPS могу накидывать, а у меня там колбаса из uvloop/fastapi всякие генераторы.

Задумался о переходе на golang со словами "надо выпрямлять руки, но их можно заменить компилируемым языком"
источник

OC

Oleg Chaplashkin in testing_in_python
+ память жрется, из-за постоянного множества объектов в виде dict (на старте было 200-300, сейчас 700). Поигрался немного с GCб снизил до 620, все равно многовато (для простых-то, post
источник

А

Алексей in testing_in_python
Лучше выпрямлять руки 😂😂😂
источник

А

Алексей in testing_in_python
Апи тесты должны быть шустрыми
источник

OC

Oleg Chaplashkin in testing_in_python
Я не знаю, что сделать с ожиданиями :)

Например, цепочка: создать объект(status=created), изменить его(status=updated), изменить еще раз на финалочку(status=finished), запросить объект

В конце мы ожидаем там всякие 200-ые, красивые боди и так далее. Самое главное - статус. И он зачастую приходит updated, ибо внутрянка системы еще "не переварила".

Вопрос: как ассертить подобное?
Я пробовал в лоб(да, это очень плохо) через asyncio.sleep(), я пробовал через exponential backoff - все это в любом случае, 5-10 секунд.

1) запрашивать до победного N раз?
2) запрашивать до победного до N секунд?
источник

OC

Oleg Chaplashkin in testing_in_python
Либо лезть в БД за статусом, что
а) быстро
б) надежнее по стабильности
?
источник

А

Алексей in testing_in_python
Фронт/клиенты как обновления получают? Вот и ты - так же.
источник

OC

Oleg Chaplashkin in testing_in_python
Вебхук, который "не обязательно быстрый", до 10-20-30 сек (платежный процессинг)
источник

А

Алексей in testing_in_python
Коллбэк от клиента? Ну и ты значит так же 😂
источник
2021 November 22

AS

Alexandr Sharshov in testing_in_python
правильно ли я понимаю, что ловить исключения такого типа нельзя
with pytest.raises(NoSuchElementException):
так как тест падает с ошибкой
Failed: DID NOT RAISE <class 'selenium.common.exceptions.NoSuchElementException'>
источник

СС

Сказочный Сникерс... in testing_in_python
Вероятно конкретно это исключение не выбросилось
источник

ТЭ

Тачами Экстович... in testing_in_python
Что мешает дёргать CI из твоего "сервиса"? Ssh/subprocess/etc это дичь полная
источник

ТЭ

Тачами Экстович... in testing_in_python
Мониторинг это вообще жоба с таймером, и выгрузка результатов в любой источник, который графана поддерживает
источник

ТЭ

Тачами Экстович... in testing_in_python
Ну, сделай параметры у джобы и управляй как хочешь. Не надо никакого фастапи тут
источник

А

Алексей in testing_in_python
Это вопрос автору. Я имел ввиду, что делал нагрузочные тесты, реиспользующие логику функциональных
источник

ТЭ

Тачами Экстович... in testing_in_python
Оправдания, оправдания, оправдания..
источник

А

Алексей in testing_in_python
Сообщеньки не читай
@
Сразу отвечай
источник

ТЭ

Тачами Экстович... in testing_in_python
источник