Sobre el proyecto

Hypothesis es una biblioteca de pruebas basadas en propiedades para Python. En lugar de escribir pruebas con entradas fijas, los desarrolladores describen el rango de entradas que una función debería manejar, y Hypothesis genera aleatoriamente casos de prueba a partir de ese rango, incluyendo casos límite que el desarrollador podría no haber anticipado. El flujo de trabajo principal utiliza el decorador @given y un módulo de estrategias. Por ejemplo, una prueba puede escribirse como @given(st.lists(st.integers())) para generar automáticamente listas de enteros y verificar que una función de ordenamiento personalizada coincida con sorted() integrado de Python. Este enfoque detecta errores y casos límite que se pasarían por alto en pruebas escritas manualmente. Cuando Hypothesis encuentra una prueba fallida, no informa una entrada fallida arbitraria. En su lugar, reduce el caso fallido al más simple posible, facilitando significativamente la depuración. Por ejemplo, si una función de ordenamiento elimina duplicados incorrectamente, Hypothesis informa el caso mínimo fallido como ls=[0, 0] en lugar de una lista aleatoria grande. La instalación es sencilla mediante pip install hypothesis. Hay extras opcionales para funcionalidad adicional. El proyecto incluye documentación, un sitio web y una sección comunitaria para contribuyentes y usuarios.