Una herramienta de análisis para Python que desdibuja la línea entre las pruebas y los sistemas de tipo.
¡La última noticia: la herramienta de prueba basada en propiedades más popular de Python, Hipótesis, ahora admite la ejecución de Crosshair como un backend opcional!
Si tiene una función con anotaciones de tipo y agregue un contrato en una sintaxis compatible, Crosshair intentará encontrar contraejemplos para usted:

Crosshair funciona llamando repetidamente a sus funciones con entradas simbólicas. Utiliza un solucionador SMT (un tipo de prover del teorema) para explorar rutas de ejecución viables y encontrar contraejemplos para usted. Esta no es una idea nueva; Un enfoque de Python se describió por primera vez en este documento. Sin embargo, que yo sepa, Crosshair es la implementación más completa: puede usar un razonamiento simbólico para los tipos incorporados, las clases definidas por el usuario y gran parte de la biblioteca estándar.
¡Prueba Crosshair ahora mismo, en tu navegador, en Crosshairweb.org!
Crosshair tiene integraciones IDE para VS Code, Pycharm y más.
Finalmente, Crosshair puede hacer más que verificar los contratos. También puede generar pruebas unitarias y encontrar diferencias de comportamiento entre las funciones.
¿Quieres ayudar? Regístrese para obtener actualizaciones por correo electrónico o RSS. Estrella osa el repositorio. También hay otras formas de ayudar.