The Wayback Machine - https://web.archive.org/web/20190825220639/https://github.com/HypothesisWorks/hypothesis
Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Hypothesis is a powerful, flexible, and easy to use library for property-based testing.
Python Jupyter Notebook Rust Ruby Shell PowerShell Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
brand Trying to push the *.png files from a new fork and branch to see if i… Jun 25, 2019
conjecture-rust Bump conjecture-rust version to 0.4.0 and update changelog Oct 24, 2018
guides Tweaks to docs PRs Jul 14, 2019
hypothesis-python Bump hypothesis-python version to 4.34.0 and update changelog Aug 23, 2019
hypothesis-ruby README: Fix a typo in code example May 16, 2019
notebooks Final table Jun 27, 2015
requirements Fix Numpy/PyPy2 compat Aug 21, 2019
scripts Drop support for Python 3.4 at EOL Mar 19, 2019
tooling Created a better domain name strategy Aug 20, 2019
whole-repo-tests Fix auto-update system Aug 13, 2019
.flake8 Update dependencies Aug 7, 2019
.gitattributes Preclude .jpg, .png, .gif being rewritten on git push Jun 25, 2019
.gitignore Ignore vscode temp files Feb 2, 2019
.isort.cfg Fix isort configuration Apr 8, 2019
.pyup.yml Fix auto-update system Aug 13, 2019
.readthedocs.yml Fix readthedocs build Apr 13, 2018
.rtfd-reqs.txt Fix RTFD build for Numpy, Pandas, dateutil Jul 22, 2018
.travis.yml Don't run apt-get commands from the whole repo test suite Jul 2, 2019
CITATION Automatically mint DOIs for new releases Sep 11, 2018
CODEOWNERS Add CODEOWNERS file Mar 18, 2019
CODE_OF_CONDUCT.rst The code of conduct is not just for the Python community Apr 11, 2018
CONTRIBUTING.rst Created a better domain name strategy Aug 20, 2019
LICENSE.txt Use https:// URLs in docs and comments where available Jan 8, 2019
Makefile Fix typo Apr 21, 2018
README.rst Update URLs May 21, 2018
azure-pipelines.yml Rename py2 reqs file Aug 7, 2019
build.sh Skip Python install for other Pipelines Jul 28, 2019
mypy.ini Disable mypy for internals Mar 7, 2019
pytest.ini Change top level build system to custom runner Apr 21, 2018
secrets.tar.enc Update secrets for cargo Jun 23, 2018

README.rst

Hypothesis

Hypothesis is family of testing libraries which let you write tests parametrized by a source of examples. A Hypothesis implementation then generates simple and comprehensible examples that make your tests fail. This simplifies writing your tests and makes them more powerful at the same time, by letting software automate the boring bits and do them to a higher standard than a human would, freeing you to focus on the higher level test logic.

This sort of testing is often called "property-based testing", and the most widely known implementation of the concept is the Haskell library QuickCheck, but Hypothesis differs significantly from QuickCheck and is designed to fit idiomatically and easily into existing styles of testing that you are used to, with absolutely no familiarity with Haskell or functional programming needed.

The currently available implementations of Hypothesis are:

  • Hypothesis for Python is the original implementation, and the only one that is currently fully production ready.
  • Hypothesis for Ruby is an ongoing project that we intend to eventually reach parity with Hypothesis for Python.
  • Hypothesis for Java is a prototype written some time ago. It's far from feature complete and is not under active development, but was intended to prove the viability of the concept.

This repository will eventually house all implementations of Hypothesis, but we are currently in the process of consolidating the existing repositories into a single one.

You can’t perform that action at this time.