Линтер на все случаи жизни — GitHub Super Linter
#code #linters
Команда DevOps инженеров из GitHub
поделились своим универсальным решением
для проверки качества кода. С ним можно настроить линтер
для 17 языков всего в 11 строк 🥳
👉 https://bit.ly/2DEdD5G
#code #linters
Команда DevOps инженеров из GitHub
поделились своим универсальным решением
для проверки качества кода. С ним можно настроить линтер
для 17 языков всего в 11 строк 🥳
👉 https://bit.ly/2DEdD5G
Изучаем mutmut
#tests
mutmut — инструмент для мутационного тестирования
который позволяет выявить баги, не покрыты тестами.
Даже если Ваш coverage 100% 😅
👉 https://bit.ly/39CZr8Q
#tests
mutmut — инструмент для мутационного тестирования
который позволяет выявить баги, не покрыты тестами.
Даже если Ваш coverage 100% 😅
👉 https://bit.ly/39CZr8Q
Non Blocking Assertion Failures
#tests #pytest
Довольно часто в одном тесте нужно сделать несколько проверок.
Но
Тест остановится на первом неудачном
результат последующих вы не узнаете.
Многие решают эту проблему путем создания своих собственных
👉 https://bit.ly/3jIlej4
#tests #pytest
Довольно часто в одном тесте нужно сделать несколько проверок.
Но
pytest из коробки не предоставляет такую возможность.Тест остановится на первом неудачном
assert, результат последующих вы не узнаете.
Многие решают эту проблему путем создания своих собственных
soft_asserts, но решение уже есть pytest-check 🔥👉 https://bit.ly/3jIlej4
Pytest Plugins to Love ❤️
#pytest #tests
Крутая подборка плагинов для
Я для себя тоже открыл парочку 😎
Нужно срочно затянуть их в проект 🏃♂️
👉 https://bit.ly/2QKxd39
#pytest #tests
Крутая подборка плагинов для
pytest 🤟Я для себя тоже открыл парочку 😎
Нужно срочно затянуть их в проект 🏃♂️
👉 https://bit.ly/2QKxd39
Web Scraper with Selenium
#selenium #tests #pytest
Статья о том, как еще можно использовать Selenium 😎
Автор на простом примере подробно рассказал,
как парсить страницы веб приложения с помощью Selenium
👉 https://bit.ly/3mVKnJR
#selenium #tests #pytest
Статья о том, как еще можно использовать Selenium 😎
Автор на простом примере подробно рассказал,
как парсить страницы веб приложения с помощью Selenium
👉 https://bit.ly/3mVKnJR
Как писать «правильные» циклы на Python
#python
В статье рассматриваются несколько подходов
позволяющих писать чистый код 😎
даже для самых сложных циклов на Python 🤔
PS:
👉 https://bit.ly/2EtTH65
#python
В статье рассматриваются несколько подходов
позволяющих писать чистый код 😎
даже для самых сложных циклов на Python 🤔
PS:
itertools❤️👉 https://bit.ly/2EtTH65
Каверзные вопросы по Python
#python
Статья-разбор каверзных вопросов по Python
с которыми вы можете столкнуться как в работе,
так и в ходе прохождения собеседования 🍓
👉 https://bit.ly/2KfK7WZ
#python
Статья-разбор каверзных вопросов по Python
с которыми вы можете столкнуться как в работе,
так и в ходе прохождения собеседования 🍓
a, b = 0, 1🤔
c = a and b
c ???
👉 https://bit.ly/2KfK7WZ
Selenium wait_page_loaded doesn't work
#tests #selenium
Очень старая статья от Алексея Баранцева
в которой он объяснил, что означает
“ожидание окончание загрузки страницы”
и почему оно не всегда помогает в тестах
👉 https://bit.ly/394xLeM
#tests #selenium
Очень старая статья от Алексея Баранцева
в которой он объяснил, что означает
“ожидание окончание загрузки страницы”
и почему оно не всегда помогает в тестах
👉 https://bit.ly/394xLeM
Running Selenium tests in GitHub Actions
#pytest #selenium
Подробный гайд по настройке GitHub Actions
для запуска Selenium тестов с pytest
а также настройки интеграции с TestProject
все любят красивые репорты 😍
👉 https://bit.ly/39z3BRa
#pytest #selenium
Подробный гайд по настройке GitHub Actions
для запуска Selenium тестов с pytest
а также настройки интеграции с TestProject
все любят красивые репорты 😍
👉 https://bit.ly/39z3BRa
Selenium 4 With Python: All You Need To Know
#tests #selenium
Разбираемся какие же новые фичи нам принес
релиз
#tests #selenium
Разбираемся какие же новые фичи нам принес
релиз
Selenium==4.0.0a7
👉 https://bit.ly/3fYQFVZ👍1
How to get data from pytest-xdist nodes
#pytest #tests
Статья-разбор как работает
Добавляем поддержку
Который замеряет потребление RAM тестом
и выводит в консоль TOP5 😳
👉 https://bit.ly/3a7IghP
#pytest #tests
Статья-разбор как работает
pytest-xdist.Добавляем поддержку
pytest-xdist для своего плагина.Который замеряет потребление RAM тестом
и выводит в консоль TOP5 😳
👉 https://bit.ly/3a7IghP
Mimesis - Fake Data Generator
#tests
который предоставляет данные для различных целей.
По сути очень похож на Faker
- можно писать кастомные провайдеры
- есть провайдеры для различных стран и языков
Но у
что можно использовать для мока API сервисов
+ есть плагин
#tests
Mimesis - это генератор поддельных данных для Python, который предоставляет данные для различных целей.
По сути очень похож на Faker
- можно писать кастомные провайдеры
- есть провайдеры для различных стран и языков
Но у
Mimesis есть еще генерация по схеме, что можно использовать для мока API сервисов
+ есть плагин
pytest-mimesis
👉 https://bit.ly/3gQhABWЭлегантное ООП на Python
#python #tests #api
Краткий гайд по библиотеке
плюс на борту имеется валидация с удобными и понятными ошибками,
что можно успешно использовать в тестировании API
описывая простые схемы ожидаемых ответов
#python #tests #api
Краткий гайд по библиотеке
marshmallow
Предназначенной для сериализации/десериализации объектов плюс на борту имеется валидация с удобными и понятными ошибками,
что можно успешно использовать в тестировании API
описывая простые схемы ожидаемых ответов
class UserSchema(Schema):👉 http://bit.ly/39j1E9z
name = fields.Str()
email = fields.Email()
errors = UserSchema().validate({"name": "Ronnie", "email": "invalid-email"})
print(errors) # {'email': ['Not a valid email address.']}
👍2
Profiling and improving the runtime of a large test suite
#tests #pytest
Когда у тебя с десяток тестов,
не особо задумываешься об их производительности,
но когда их 30k+,
В статье можно познакомиться с парочкой кейсов
которые приводят к деградации производительности тестов
+ как это исправить
👉 https://bit.ly/2HpAVxY
#tests #pytest
Когда у тебя с десяток тестов,
не особо задумываешься об их производительности,
но когда их 30k+,
Profiler становится твоим лучшим другом.В статье можно познакомиться с парочкой кейсов
которые приводят к деградации производительности тестов
+ как это исправить
👉 https://bit.ly/2HpAVxY
👍1
Disabling the Internet for pytest
#pytest #tests
Отличное решение для ускорения тестов
т/к поможет найти неожиданные места,
где забыли про
на ожидание ответа
👉 https://bit.ly/2GH6mTV
#pytest #tests
pytest-socket must have for unit tests 🤟Отличное решение для ускорения тестов
т/к поможет найти неожиданные места,
где забыли про
mock и тратится драгоценное время на ожидание ответа
👉 https://bit.ly/2GH6mTV
👍1
Python testing style guide
#python #pytest #tests
Каталог "best practices" по написанию тестов
собранный автором на основе личного опыта
PS: это не свод правил, а больше как пища для размышлений
👉 http://bit.ly/3f3k0zO
#python #pytest #tests
Каталог "best practices" по написанию тестов
собранный автором на основе личного опыта
PS: это не свод правил, а больше как пища для размышлений
👉 http://bit.ly/3f3k0zO
Playwright with Pytest
#tests #pytest
Playwright уже давно не новинка в JS автоматизации.
Я как то писал, о том что его портировали на Python.
Но как с ним обстоят дела? И тут наткнулся на видео,
в котором автор рассказывает о фичах
и показывает как на нем просто писать тесты 🤪
👉 https://bit.ly/3b4n5wX
#tests #pytest
Playwright уже давно не новинка в JS автоматизации.
Я как то писал, о том что его портировали на Python.
Но как с ним обстоят дела? И тут наткнулся на видео,
в котором автор рассказывает о фичах
и показывает как на нем просто писать тесты 🤪
👉 https://bit.ly/3b4n5wX
👍1
Unit tests generation
#tests
Появилось спасение для разработчиков
которые не любят писать юнит тесты
Pynguin - тул командной строки
который помогает автоматически генерировать простые юнит тесты
попробовал натравить на
- не работает для объктов без объявленых типов
- нужет python >= 3,8
- с негативными кейсами проблемка, их нет
- поддерживать такие тесты ад еще тот
- не поддерживает pytest.parametrize
зато бесплатно и зеленые 🤣
👉 https://bit.ly/2T7MI9X
#tests
Появилось спасение для разработчиков
которые не любят писать юнит тесты
Pynguin - тул командной строки
который помогает автоматически генерировать простые юнит тесты
попробовал натравить на
def foo(x: int, y: int) -> int:как результат сгенерировал один тест
return x / y
def test_case_0():PS: Качество конечно страдает и есть нюансы
var0 = 1453
var1 = module0.foo(var0, var0)
assert var1 == pytest.approx(1.0, abs=0.01, rel=0.01)
- не работает для объктов без объявленых типов
- нужет python >= 3,8
- с негативными кейсами проблемка, их нет
- поддерживать такие тесты ад еще тот
- не поддерживает pytest.parametrize
зато бесплатно и зеленые 🤣
👉 https://bit.ly/2T7MI9X
👍2
Проверка уязвимостей в коде
#tests #security
В отлично время живем 👌
А что на счет безопастности?
Натравил на свое приложение, работает достаточно быстро
но над безопасностью нужно еще поработать 😅
👉 https://bit.ly/3wqDX9G
#tests #security
В отлично время живем 👌
pylint | flake8 - помогаю найти баги до запуска кодаblack - решает за меня как мой код должен выглядетьisort - в каком порядке импортировать модулиpynguin - пишет тестыА что на счет безопастности?
Bandit - поможет найти общие проблемы безопасностиНатравил на свое приложение, работает достаточно быстро
но над безопасностью нужно еще поработать 😅
Code scanned:PS: только из-за название нужно попробовать 🤟
Total lines of code: 74289
Total issues (by confidence):
Undefined: 0.0
Low: 0.0
Medium: 9
High: 138.0
👉 https://bit.ly/3wqDX9G
👍4
Finding the root cause of hung Python test
#tests #pytest #debug
В статье попытался описать как можно
найти первопричину зависания теста 😍
На примере простой функции c
#tests #pytest #debug
В статье попытался описать как можно
найти первопричину зависания теста 😍
На примере простой функции c
time.sleep и pytest
👉 https://bit.ly/3oUJDbh👍2