pytest-missing-modules
Minimalist Pytest plugin that adds a fixture to fake missing modules.
Who should use this plugin
Sometimes, your code needs to handle the possibility that
an optional dependency can be missing, e.g., you develop a plotting
library supporting multiple drawing backends.
This plugin provides a convenient way to simulate one
or multiple missing modules, raising an ImportError
instead.
Usage
First, install this plugin with:
pip install pytest-missing-modules
Then, you use the Pytest fixtures like so:
import importlib
import my_package
def test_missing_numpy(missing_modules):
with missing_modules("numpy"):
importlib.reload(my_package)
If you need, you can also add type hints to your code:
from pytest_missing_modules.plugin import MissingModulesContextGenerator
def test_missing_package(missing_modules: MissingModulesContextGenerator):
For more advance usage, please check the
documentation.
Contributing
This project welcomes any contribution, and especially:
- bug fixes;
- or documentation typos.