Florian Bruhin
pytest: Simple, rapid and fun testing with Python
#1about 2 minutes
Understanding the core features and benefits of pytest
Pytest simplifies testing with automatic test discovery, useful failure reports, parameterization, and a powerful fixture system.
#2about 5 minutes
Writing simple tests with plain assert statements
Pytest eliminates boilerplate by using standard Python `assert` statements and provides detailed failure reports through assertion rewriting.
#3about 3 minutes
Using markers to conditionally skip and group tests
Use decorators like `@pytest.mark.skipif` to conditionally run tests and custom markers to tag and select specific test groups.
#4about 3 minutes
Creating data-driven tests with parameterization
The `@pytest.mark.parametrize` decorator allows running a single test function with multiple sets of input data, reducing code duplication.
#5about 7 minutes
Modularizing setup and teardown with fixtures
Fixtures use dependency injection to provide reusable setup and teardown logic for tests, allowing for modular and composable test resources.
#6about 3 minutes
Using built-in fixtures for common testing tasks
Pytest provides built-in fixtures like `tmppath` for creating temporary directories and `monkeypatch` for modifying state on a per-test basis.
#7about 7 minutes
Extending pytest functionality with popular plugins
Explore the pytest plugin ecosystem, including `pytest-cov` for coverage, `pytest-bdd` for behavior-driven development, and `hypothesis` for property-based testing.
#8about 14 minutes
Migrating to pytest and preparing for future releases
Learn how to migrate existing test suites to pytest and get a preview of upcoming features in the pytest 7.0 release, such as type annotations.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
06:00 MIN
An introduction from an in-house developer's perspective
Automagic Configuration in Python
Unlock full access
Log in or set up an account to access this feature and more.
05:47 MIN
Testing against a real, persistent database service
Three-and-a-half Ways of Testing your Repositories
Unlock full access
Log in or set up an account to access this feature and more.
02:07 MIN
Building a testing foundation with unit tests
Trunk-Based Development at Scale: Real-World Insights from a High-Traffic Luxury E-Commerce Platform
Unlock full access
Log in or set up an account to access this feature and more.
01:41 MIN
Why good tests enable confident refactoring and speed
TDD for Vue.js Developers
Unlock full access
Log in or set up an account to access this feature and more.
04:13 MIN
Practical examples of using Python for configuration
Automagic Configuration in Python
Unlock full access
Log in or set up an account to access this feature and more.
03:00 MIN
Summary of key principles for better testing
Write tests you love, not hate
Unlock full access
Log in or set up an account to access this feature and more.
01:48 MIN
An overview of testing tools for Tezos contracts
Developer’s Perspective: Overview of the Tezos Blockchain Ecosystem
Unlock full access
Log in or set up an account to access this feature and more.
01:47 MIN
Why use existing test frameworks for security
Plants vs. Thieves: Automated Tests in the World of Web Security
Unlock full access
Log in or set up an account to access this feature and more.
Featured Partners
Related Videos
How not to test
Golo Roden
Continuous testing - run automated tests for every change!
Christian Kühn
How To Test A Ball of Mud
Ryan Latta
Test Driven Development with JavaScript
Sascha Depold & Parinaz Roghany
Using non-functional testing to guide user interface, backend services, voice interface, and media development
Brien Colwell
Are you still programming unit tests or already generating?
Johannes Bergsmann & Daniel Bauer
Test-reduction - Doing more with less
Ewald Verhoeven
Automagic Configuration in Python
Oliver Bestwalter
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.


CONTIAMO GMBH
Berlin, Germany
Senior
Python
Docker
TypeScript
PostgreSQL



Kite IT GmbH
Remote
JIRA
Confluence


TechBiz Global GmbH
Freiburg im Breisgau, Germany
Remote
Docker
Node.js
Continuous Integration

TechBiz Global GmbH
Cologne, Germany
Remote
Docker
Node.js
Continuous Integration