How to Use pytest Plugins: Syntax, Example & Tips
To use
pytest plugins, first install the plugin package via pip, then enable it by adding it to your test environment or using pytest -p plugin_name. Plugins extend pytest features like reporting, fixtures, or test discovery automatically when installed.Syntax
Using pytest plugins involves installing the plugin package and optionally enabling it explicitly. The common syntax patterns are:
pip install plugin-package- installs the plugin.pytest- runs tests with all installed plugins auto-enabled.pytest -p plugin_name- explicitly loads a plugin by name.pytest --disable-warnings- example of a plugin-provided option.
Plugins can also be configured in pytest.ini or pyproject.toml files.
bash
pip install pytest-cov pytest -p pytest_cov
Example
This example shows how to use the pytest-cov plugin to measure test coverage. After installing the plugin, run pytest with the --cov option to generate a coverage report.
python
def add(a, b): return a + b def test_add(): assert add(2, 3) == 5 # Run this in terminal: # pip install pytest-cov # pytest --cov=.
Output
============================= test session starts ==============================
collecting ... collected 1 item
test_sample.py . [100%]
---------- coverage: platform linux, python 3.x.x ----------
Name Stmts Miss Cover
----------------------------------
add.py 3 0 100%
============================== 1 passed in 0.03s ===============================
Common Pitfalls
Common mistakes when using pytest plugins include:
- Not installing the plugin package before use.
- Forgetting to enable the plugin if it is not auto-discovered.
- Using outdated plugin versions incompatible with your pytest version.
- Conflicts between multiple plugins causing unexpected behavior.
Always check plugin documentation for compatibility and usage instructions.
bash
## Wrong: Trying to use plugin options without installing
# Command:
# pytest --cov=.
# Error: unknown option '--cov'
## Right: Install plugin first
# pip install pytest-cov
# pytest --cov=.
Quick Reference
| Command | Description |
|---|---|
| pip install plugin-package | Install a pytest plugin |
| pytest | Run tests with all installed plugins enabled |
| pytest -p plugin_name | Explicitly load a specific plugin |
| pytest --help | Show all options including plugin options |
| pytest --disable-warnings | Example plugin-provided option |
Key Takeaways
Install pytest plugins using pip before trying to use them.
Most plugins auto-enable when installed, but some require explicit loading with -p.
Use plugin-specific command-line options to extend pytest functionality.
Check plugin compatibility with your pytest version to avoid errors.
Configure plugins via pytest.ini or pyproject.toml for persistent settings.