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
- 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