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
— Soporte para type hints- Specification for the Python Type System
- Alias de tipo
- NewType
- Anotaciones en objetos invocables
- Genéricos
- Anotaciones en tuplas
- El tipo de objetos de clase
- Annotating generators and coroutines
- 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
- Métodos de parcheo mock
- Mock de llamadas a métodos sobre un objeto
- Clases de Mock
- Nombrando tus mocks
- Siguiendo todas las llamadas
- Establecer valores de retorno y atributos
- Generar excepciones con mocks
- Funciones de efectos secundarios e iterables
- Iteradores asincrónicos de Mocking
- El gestor de contexto asincrónico de Mocking
- Creando un mock desde un objeto existente
- Uso de side_effect para devolver el contenido por archivo
- Decoradores de Parches
- Otros ejemplos
- Mocking de llamadas encadenadas
- Mocking parcial
- Mocking de un método generador
- Aplicar el mismo parche a cada método de prueba
- Mocking de métodos sin enlazar
- Comprobación de varias llamadas con mock
- Copiando con argumentos mutables
- Anidando parches
- 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
— Utilidades para el conjunto de pruebas de Pythontest.support.socket_helper
— Utilidades para pruebas de sockettest.support.script_helper
—Utilidades para las pruebas de ejecución de Pythontest.support.bytecode_helper
— Herramientas de apoyo para comprobar la correcta generación de bytecodetest.support.threading_helper
— Utilidades para pruebas con hilostest.support.os_helper
— Utilidades para pruebas de sistemas operativostest.support.import_helper
— Utilidades para pruebas de importacióntest.support.warnings_helper
— Utilidades para pruebas de advertencias