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-1.0.0.tar.gz
(5.6 kB
view hashes)
Built Distribution
Close
Hashes for hypothesis_auto-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f54f3009b513704f53bcd44f6fe6e2e0e4662aadaa70bc66365bef816cf973db |
|
MD5 | 413df031e762af851d3445ac7b6db27f |
|
BLAKE2b-256 | c7eabb41a5b8be0e7cdbbfc542813dcf6997b7de9be76cfbc7a6f1fa1a22ac47 |