107: Property Based Testing in Python with Hypothesis - Alexander Hultnér
Hypothesis is the Python tool used for property based testing.
Hypothesis claims to combine "human understanding of your problem domain with machine intelligence to improve the quality of your testing process while spending less time writing tests."
Hypothesis claims to combine "human understanding of your problem domain with machine intelligence to improve the quality of your testing process while spending less time writing tests."
In this episode Alexander Hultnér introduces us to property based testing in Python with Hypothesis.
Some topics covered:
- What is property based testing
- Thinking differently for property based testing
- Using hypothesis / property based testing in conjunction with normal testing
- Failures saved and re-run
- What parts of development/testing is best suited for hypothesis / property based testing
- Comparing function implementations
- Testing against REST APIs that use Open API / Swagger with schemathesis
- Changing the number of tests in different test environments
- System, integration, end to end, and unit tests
Special Guest: Alexander Hultnér.
Links:
- Hypothesis home
- Hypothesis docs
- Test Fast, Fix More - Property based testing with Hypothesis by Alexander Hultnér - YouTube
- Quickcheck, Grandfather of property based testing
- Beyond Unit Tests, Hillel Wayne, PyCon 2018
- Better Testing With Less Code, Matt Bachmann, PyCon 2016
- Choosing properties for property-based testing (F#)
- schemathesis: Hypothesis + Open API / Swagger for testing web applications
Help support the show AND learn pytest:
- The Complete pytest course is now a bundle, with each part available separately.
- pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.
- Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CI
- Then pytest Booster Rockets can help with advanced parametrization and building plugins.
- Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
Creators and Guests
