Skip to content
This repository was archived by the owner on Mar 6, 2026. It is now read-only.
This repository was archived by the owner on Mar 6, 2026. It is now read-only.

Unify the way how unit tests are conditionally skipped #752

Description

@plamut

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")
ifpandasisnotNone:
PANDAS_INSTALLED_VERSION=pkg_resources.get_distribution("pandas").parsed_versionelse:
# Set to less than MIN version.PANDAS_INSTALLED_VERSION=pkg_resources.parse_version("0.0.0")
...
@unittest.skipIf( pandasisNoneorPANDAS_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.priority: p3Desirable enhancement or fix. May not be included in next release.testingtype: cleanupAn internal cleanup or hygiene concern.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions