Herramientas de desarrollo¶
Los módulos descritos en este capítulo le ayudan a escribir software. Por ejemplo, el módulo pydoc toma un módulo y genera documentación basada en el contenido del módulo. Los módulos doctest y unittest contienen frameworks para escribir pruebas unitarias que ejecutan y validan automáticamente el código, verificando que se produce la salida esperada.
La lista de módulos descritos en este capítulo es:
typing— Support for type hints- Especificación del sistema de tipos de Python
- Alias de tipo
- NewType
- Anotaciones en objetos invocables
- Genéricos
- Anotaciones en tuplas
- El tipo de objetos de clase
- Anotación de generadores y corrutinas
- Tipos genéricos definidos por el usuario
- El tipo
Any - Subtipado nominal vs estructural
- Contenido del módulo
- Línea de tiempo de obsolescencia de características principales
pydoc— Documentation generator and online help system- Modo de desarrollo de Python
doctest— Test interactive Python examplesunittest— Unit testing framework- Ejemplo sencillo
- Interfaz de línea de comandos
- Descubrimiento de pruebas
- Organización del código de pruebas
- Reutilización de código de prueba anterior
- Omitir tests y fallos esperados
- Distinguiendo iteraciones de tests empleando subtests
- Clases y funciones
- Instalaciones para clases y módulos
- Manejo de señales
unittest.mock— mock object libraryunittest.mock— getting started- Usando mock
- Mock patching methods
- Mock for method calls on an object
- Mocking classes
- Nombrando tus mocks
- Tracking all calls
- Setting return values and attributes
- Generar excepciones con mocks
- Funciones de efectos secundarios e iterables
- Iteradores asincrónicos de Mocking
- El gestor de contexto asincrónico de Mocking
- Creating a mock from an existing object
- Uso de side_effect para devolver el contenido por archivo
- Patch decorators
- Further examples
- Mocking de llamadas encadenadas
- Mocking parcial
- Mocking a generator method
- Aplicar el mismo parche a cada método de prueba
- Mocking unbound methods
- Comprobación de varias llamadas con mock
- Copiando con argumentos mutables
- Nesting patches
- Mocking a un diccionario usando MagickMock
- Mock de subclases y sus atributos
- Importaciones de Mocking con patch.dict
- Seguimiento del orden de las llamadas y de las aserciones de llamadas menos detalladas
- Coincidencia de argumentos más compleja
- Usando mock
test— Regression tests package for Pythontest.support— Utilities for the Python test suitetest.support.socket_helper— Utilities for socket teststest.support.script_helper— Utilities for the Python execution teststest.support.bytecode_helper— Support tools for testing correct bytecode generationtest.support.threading_helper— Utilities for threading teststest.support.os_helper— Utilities for os teststest.support.import_helper— Utilities for import teststest.support.warnings_helper— Utilities for warnings tests