-
Notifications
You must be signed in to change notification settings - Fork 322
Closed
Labels
api: bigqueryIssues related to the googleapis/python-bigquery API.Issues related to the googleapis/python-bigquery API.priority: p3Desirable enhancement or fix. May not be included in next release.Desirable enhancement or fix. May not be included in next release.testingtype: cleanupAn internal cleanup or hygiene concern.An internal cleanup or hygiene concern.
Description
Following the comment, we currently use two different ways of conditionally skipping unit tests that require particular minimum dependency version.
One approach parses the installed version manually:
PANDAS_MINIUM_VERSION = pkg_resources.parse_version("1.0.0")
if pandas is not None:
PANDAS_INSTALLED_VERSION = pkg_resources.get_distribution("pandas").parsed_version
else:
# Set to less than MIN version.
PANDAS_INSTALLED_VERSION = pkg_resources.parse_version("0.0.0")
...
@unittest.skipIf(
pandas is None or PANDAS_INSTALLED_VERSION < PANDAS_MINIUM_VERSION,
"Only `pandas version >=1.0.0` supported",
)
The alternative approach is using pytest.importorskip
, which is more concise:
pytest.importorskip(
"pandas",
minversion="1.0.0",
reason="Requires `pandas version >= 1.0.0` which introduces pandas.NA",
)
We should use pytest.importorskip
combined with the minversion
argument. That feature relies on the imported module's __version__
attribute, but all our major dependencies support it, so we should be fine.
Metadata
Metadata
Assignees
Labels
api: bigqueryIssues related to the googleapis/python-bigquery API.Issues related to the googleapis/python-bigquery API.priority: p3Desirable enhancement or fix. May not be included in next release.Desirable enhancement or fix. May not be included in next release.testingtype: cleanupAn internal cleanup or hygiene concern.An internal cleanup or hygiene concern.