Extends Hypothesis to add fully automatic testing of type annotated functions
Project description
Read Latest Documentation - Browse GitHub Code Repository
An extension for the hypothesis project that enables fully automatic tests for type annotated functions:
from hypothesis_auto import auto_test
def add(number_1: int, number_2: int = 1) -> int:
return number_1 + number_2
auto_test(add) # 50 property based scenerios are generated and ran against add
auto_test(add, _auto_runs=1_000) # Let's make that 1,000
from hypothesis_auto import auto_test
def divide(number_1: int, number_2: int) -> int:
return number_1 / number_2
auto_test(divide)
-> 1012 raise the_error_hypothesis_found
1013
1014 for attrib in dir(test):
<ipython-input-2-65a3aa66e9f9> in divide(number_1, number_2)
1 def divide(number_1: int, number_2: int) -> int:
----> 2 return number_1 / number_2
3
0/0
ZeroDivisionError: division by zero
auto_test(divide, _auto_allow_exceptions=(ZeroDivisionError, ))
For the full set of parameters you can pass into auto_test see its API reference documentation.
Why Create hypothesis-auto?
I wanted a no/low resistance way to start incorporating property based tests across my projects. Such a solution, that also encouraged the use of type hints, was a win/win for me.
I hope you too find hypothesis-auto
useful!
~Timothy Crosley
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hypothesis-auto-0.0.5.tar.gz
(4.4 kB
view hashes)
Built Distribution
Close
Hashes for hypothesis_auto-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4078d7cb0178616ee9f53105af7819f3178c6afb371a4a1908a4fb8adb6fc7fc |
|
MD5 | 41ef25830384a31c2bab04d882c15c8e |
|
BLAKE2b-256 | fdb89e17f45342a5d679a49fb12b887e482c24b6f2d09b59ede10f907b9841d5 |