Sobre o projeto
Hypothesis é uma biblioteca de testes baseados em propriedades para Python. Em vez de escrever testes com entradas fixas, os desenvolvedores descrevem o intervalo de entradas que uma função deve tratar, e o Hypothesis gera aleatoriamente casos de teste a partir desse intervalo — incluindo casos limite que o desenvolvedor pode não ter antecipado.
O fluxo de trabalho principal usa o decorador @given e um módulo de estratégias. Por exemplo, um teste pode ser escrito como @given(st.lists(st.integers())) para gerar automaticamente listas de inteiros e verificar se uma função de ordenação personalizada corresponde à função sorted() nativa do Python. Essa abordagem captura bugs e casos limite que seriam perdidos por casos de teste escritos manualmente.
Quando o Hypothesis encontra um teste com falha, ele não reporta uma entrada de falha arbitrária. Em vez disso, ele reduz o caso de falha ao mais simples possível, tornando a depuração significativamente mais fácil. Por exemplo, se uma função de ordenação remove duplicatas incorretamente da entrada, o Hypothesis reporta o caso de falha mínimo, como ls=[0, 0], em vez de uma lista aleatória grande.
A instalação é simples via pip install hypothesis. Extras opcionais estão disponíveis para funcionalidades adicionais. O projeto inclui documentação, um site e uma seção de comunidade para contribuidores e usuários.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.