#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
​​Тестирование - неотъемлемая часть процесса разработки. Если вы пишете прекрасные приложения на Python, но еще не научились их тестировать, то этот туториал точно вас прокачает!

#полезностьдня

https://realpython.com/python-testing/
​​Многие считают что Python − это просто. Возможно, это действительно проще, чем другие технологии, вот только без трудностей не бывает даже тут. Но и их можно избежать, если понять принципы тестирования Python-кода.

#статьядня

 https://proglib.io/p/python-testing/
Continuous Integration (непрерывная интеграция) стало неотъемлимой частью  разработки программного обеспечения во многих компаниях.
Суть поцесса - слияние рабочих копий в общую основную ветвь разработки несколько раз в день и выполнении частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов и решения интеграционных проблем.

#статьядня
 https://realpython.com/python-continuous-integration/
​​Python. Разработка на основе тестирования
Автор: Персиваль Г.

Книга рассказывает о таком методе разработки, как разработка на основе тестирования (Test-Driven Development, TDD) программ на языке Python. Чтобы читатель оценил все возможности такого подхода, в книге подробно описывается процесс разработки реального веб-приложения от начала до конца.

#книгадня
Разаработка на Python в Visual Studio Code
В этой статье вы узнаете о том, как:
- установить Visual Studio Code;
- найти и установить расширения, облегчающие разработку на Python;
- написать простое приложение на Python;
- узнаете, как запускать и отлаживать существующие программы Python в VS Code;
- подключать Visual Studio Code к Git и GitHub, чтобы поделиться своим кодом со всем миром.

#статьядня

http://clc.am/qkQNsg
Когда вы пишете надежный код, тесты необходимы для проверки правильности, надежности и эффективности логики вашего приложения. Однако ценность ваших тестов зависит от того, насколько хорошо они демонстрируют эти критерии. Препятствия, такие как сложная логика и непредсказуемые зависимости, затрудняют написание ценных тестов. Библиотека фиктивных объектов Python, unittest.mock, может помочь вам преодолеть эти препятствия.

#статьядня

https://prglb.ru/3lsbb
Когда вы разветвляете свой процесс, случайное начальное число, которое вы используете, копируется между процессами. Это может привести к тому, что процессы будут давать одинаковый «случайный» результат.

Чтобы избежать этого, вы должны вручную вызывать random.seed() в каждом процессе.

Однако, если вы используете multiprocessing, он делает это за вас.

import multiprocessing
import random
import os
import sys
                            
def test(a):                       
    print(random.choice(a), end=' ')
                                   
# a = [1, 2, 3, 4, 5]

for _ in range(5):
    test(a)
print()

for _ in range(5):                 
    p = multiprocessing.Process(   
        target=test, args=(a,))
    p.start()                      
    p.join()                       
print()                            

for _ in range(5):
    pid = os.fork()
    if pid == 0:
        test(a)
        sys.exit()
    else:
        os.wait()
print()


# Результат:
4 4 4 5 5
1 4 1 3 3
2 2 2 2 2

Более того, если вы используете Python 3.7 или новее,  os.fork делает то же самое, благодаря новому хуку at_fork.

Вывод приведенного выше кода для Python 3.7:
1 2 2 1 5
4 4 4 5 5
2 4 1 3 1
4 метода тестирования приложений Python для командной строки (CLI)
В этом руководстве вы изучите четыре практических метода тестирования приложений командной строки Python:

Отладка «Lo-Fi» с print()
Использование визуального отладчика Python
Юнит тестирование с помощью pytest и mocks
Интеграционное тестирование

#статьядня

https://prglb.ru/5ju7z
Подборочка статей по тестированию в Python

#статьядня

https://prglb.ru/ue2v
Тестирование в Python

Есть много способов проверить ваш код. В этом учебном пособии вы изучите приемы, состоящие из самых простых шагов, и перейдете к продвинутым методам.

#статьядня

https://prglb.ru/4k8cv
Python Unit Testing With VS Code

VS Code может автоматически распознавать существующие тесты Python и запускать их. Разбираемся, как настроить его для запуска наборов тестов и отдельных тестов, а также как просмотреть результаты теста.

#видеодня

https://prglb.ru/31v92
​​Python Unit Test Automation
Автор: Ashwin Pajankar

В настоящем руководстве вы познакомитесь с юнит-тестированием для проектов на языке программирования Python на примере таких библиотек, как doctest, unittest, nose, nose2 и pytest

#книгадня

https://t.me/progbook/3696
Несколько хороших страничек в Twitter. Join! :) Полезно для разработчика любого уровня.

Full Stack Python
Обучающие и информационные материалы.

Python Digest
Русскоязычный аккаунт.

Talk Python Podcast
Подкасты о Python на английском языке.

Python Hub
Полезные новости.

Python StackOverflow
Вопросы о Python со StackOverflow.

Raymond Hettinger
Советы для разработчиков.
#python python... PYTHON 🔛 🚀
The Python 3 Standard Library by Exa.pdf
Chapter 19.pdf
492.3 KB
Chapter 19
Modules and Packages
Python’s primary extension mechanism uses source code saved to modules and incorporated
into a program through the import statement. The features that most developers think of
as “Python” are actually implemented as the collection of modules called the Standard
Library, the subject of this book. Although the import feature is built into the interpreter
itself, the library also includes several modules related to the import process.
The importlib (page 1329) module exposes the underlying implementation of the import mechanism used by the interpreter. It can be used to import modules dynamically at
runtime, instead of using the import statement to load them during start-up. Dynamically
loading modules is useful when the name of a module that needs to be imported is not
known in advance, such as for plug-ins or extensions to an application.
Python packages can include supporting resource files such as templates, default configuration files, images, and other data, along with sourc
me, daddy: inspect.stack()[1][2],.. [2][3]