Skip to content

Conversation

@bjlittle
Copy link
Member

@bjlittle bjlittle commented Mar 11, 2024

🚀 Pull Request

Description

This pull-request configures the pytest-mock plugin for pytest, thus making the mocker fixture available.

See https://pytest-mock.readthedocs.io/en/latest/ for further details.

Note that, through the mocker fixture, we have access to vanilla mock module as we know and (un-)love.

image


Consult Iris pull request check list


Add any of the below labels to trigger actions on this PR:

  • benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts

@codecov
Copy link

codecov bot commented Mar 11, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ No coverage uploaded for pull request base (FEATURE_pytest_conversion@80b42f5). Click here to learn what that means.

Additional details and impacted files
@@                     Coverage Diff                      @@
##             FEATURE_pytest_conversion    #5815   +/-   ##
============================================================
  Coverage                             ?   89.74%           
============================================================
  Files                                ?       92           
  Lines                                ?    22940           
  Branches                             ?     5462           
============================================================
  Hits                                 ?    20588           
  Misses                               ?     1620           
  Partials                             ?      732           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@bjlittle bjlittle requested a review from pp-mo March 11, 2024 16:23
@trexfeathers trexfeathers added the Type: Feature Branch Highlight this for a feature branch label Mar 12, 2024
@bjlittle bjlittle removed the request for review from pp-mo March 12, 2024 11:16
Copy link
Contributor

@ESadek-MO ESadek-MO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Ta @bjlittle

@ESadek-MO ESadek-MO merged commit e954d73 into SciTools:FEATURE_pytest_conversion Mar 12, 2024
@bjlittle bjlittle deleted the pytest-mock-required-plugins branch March 12, 2024 11:31
trexfeathers added a commit that referenced this pull request Nov 1, 2024
* Add pytest-mock dependency (#5811)

* Updated environment lockfiles

* added pytest iris class (#5808)

* added pytest iris class

* actioned majority of review comments

* converted remaining functions to camel_case

* actioned majority of review comments

* make unit/config pytest (#5810)

* Convert all tests to pytest.

* Don't use staticmethod on fixtures.

* Everything in 'TestConcatenate__dask' can use the same sample cubes.

* Spurious parentheses in 'pytest.fixture()'

* Convert all tests to pytest.

* Rewrite `result_path()` for pytest (#5817)

* Rewrite result_path.

* Review comments.

* Configure pytest-mock as pytest required-plugin (#5815)

* pytest migration ruff PT compliance for unit.concatenate (#5823)

* pytest migration for unit.common.test_Lenient (#5822)

* pytest migration for unit.common.lenient.test_Lenient

* assert order

* review actions

* Convert to pytest.

* Better implementation of `_shared_utils.results_path()` - using PyTest `request` (#5827)

* Rewrite result_path to use the pytest request fixture.

* More explicit guidance on the request fixture.

* Convert to pytest.

* Convert to pytest.

* Convert graphics testing conveniences to PyTest (#5832)

* PyTest-compatible check_graphic.

* Demonstrate new check_graphic in test_plot.

* 7c4f700

* Revert "7c4f7003a"

This reverts commit 68f81ac.

* Revert "Demonstrate new check_graphic in test_plot."

This reverts commit 7c4f700.

* Tidy up other unittest references in iris.tests.graphics.

* Tidy up other unittest references in iris.tests.graphics.

* check_graphic_caller docstring example.

* Make check_graphic_caller only accessible from conftest.

* Simplify data fixtures.

* Simplify data fixtures.

* Simplify data fixtures.

* Simplify Mock usage.

* Tidy equality checks.

* Convert to pytest,

* pytest migration for unit.common.lenient.test__lenient_client (#5842)

* pytest migration for unit.common.lenient.test__lenient_client

* review actions

* pytest migration for unit.common.lenient.test__Lenient (#5828)

* pytest migration for unit.common.lenient.test__Lenient

* ruff PT rule compliant

* fixes

* refactor

* assert fixes

* review actions

* Convert to pytest.

* Convert `tests/test_plot` to PyTest (#5839)

* Convert test_plot to PyTest.

* Add explanatory comments.

* Make ruff PT compliant.

* Convert test_quickplot.

* Test aggregate pytest (#5846)

* pytestify test_aggregate_by.

* pytestify test_lazy_aggregate_by.

* pytest migration for unit.common.lenient.test__lenient_service (#5843)

* pytest migration for unit.common.mixin.test__get_valid_standard_name (#5847)

* pytest migration for unit.common.mixin.test_CFVariableMixin (#5849)

* pytest migration for unit.common.lenient.test__qualname (#5845)

* pytest migration for unit.common.lenient.test__qualname

* use setup_method

* use setup fixture

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* pytest migration for unit.common.mixin.test_LimitedAttributeDict (#5851)

* pytest migration for unit.common.mixin.test_LimitedAttributeDict

* use setup_method

* use setup fixture

* pytest migration for unit.common.metadata.test_NamedTupleMeta (#5852)

* Make test_analysis PyTest (#5859)

* Fixes to _shared_utils.

* Make test_analysis.py pytest.

* Make test_analysis_calculus.py pytest.

* Remove np.testing.

* Convert to pytest.

* Convert unit/fileformats/__init__ code to pytest + move to pp_load_rules where it belongs.

* Convert unit/fileformats/pp_load_rules to pytest.

* converted cube directory tests to pytest (#5837)

* converted asserts to pytest

* pytestified and search replaced. Ruffed

* resolved old references

* refactored preexisting setup_methods into _setup

* further changes

* fixed mock and CML assert

* fixed cdl call in shared_utils

* all tests passing

* review changes

* tests passing

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Convert tests in unit/util to pytest (#5853)

* pytestify, and test__coord_regular

* search and replace

* ruff

* fixed most failures

* renamed result dir

* fixed review comments

* whoops, incorrectly called assert_original_metadata with request after removing it

* corrected assert

* Use mocker.spy in place of mock.patch.

* pytest migration for unit.common.metadata.test_AncillaryVariableMetadata (#5854)

* pytest migration for unit.common.metadata.test_AncillaryVariableMetadata

* use setup fixture

* review actions

* Convert `unit.plot` and `.quickplot` to PyTest (#5866)

* Convert tests.unit.plot to PyTest.

* Convert tests.unit.quickplot to PyTest.

* Convert setups to autouse fixtures.

* Convert to Pytest.

* Convert to Pytest.

* Convert to pytest.

* Convert to pytest, move test_rules into /rules.

* Convert to pytest

* Convert remaining graphics tests to PyTest (#5867)

* Convert test_mapping to PyTest.

* Convert integration.plot to PyTest.

* Convert unit/fileformats/structured_array_identification to pytest.

* Review changes.

* pytest migration for unit.common.metadata.test_BaseMetadata (#5868)

* pytest migration for unit.common.metadata.test_BaseMetadata

* review actions

* pytest migration of unit.common.metadata.test_hexdigest (#5874)

* pytest migration of unit.common.metadata.test_metadata_filter (#5875)

* pytest migration for unit.common.metadata.test_CubeMetadata (#5881)

* pytest migration of unit.common.metadata.test_metadata_manager_factory (#5876)

* pytest migration of unit.common.metadata.test_metadata_manager_factory

* review actions

* More root pytest (#5883)

* Convert root test_util to PyTest.

* Convert root test_pp to PyTest.

* Review comments - make tests easier to understand.

* pytest migration of unit.common.metadata.test_CellMeasureMetadata (#5878)

* pytest migration of unit.common.metadata.test_CellMeasureMetadata

* Update lib/iris/tests/unit/common/metadata/test_CellMeasureMetadata.py

Co-authored-by: Patrick Peglar <[email protected]>

* Update lib/iris/tests/unit/common/metadata/test_CellMeasureMetadata.py

Co-authored-by: Patrick Peglar <[email protected]>

* Update lib/iris/tests/unit/common/metadata/test_CellMeasureMetadata.py

Co-authored-by: Patrick Peglar <[email protected]>

* Update lib/iris/tests/unit/common/metadata/test_CellMeasureMetadata.py

Co-authored-by: Patrick Peglar <[email protected]>

* review actions

---------

Co-authored-by: Patrick Peglar <[email protected]>

* pytest migration of unit.common.metadata.test_CoordMetadata (#5880)

* pytest migration of unit.common.metadata.test_CoordMetadata

* review actions

* Update lib/iris/tests/unit/common/metadata/test_CoordMetadata.py

Co-authored-by: Patrick Peglar <[email protected]>

---------

Co-authored-by: Patrick Peglar <[email protected]>

* pytest migration of unit.common.resolve.test_Resolve (#5882)

* pytest migration of unit.common.resolve.test_Resolve

* review actions

* regen lockfiles

* precommit fixes

* fix some test failures

* Added a style guide for iris pytest (#5785)

* Added a draft style guide for iris pytest

* most review comments

* refactored documentation

* fixed doclinks

* reslolved review comments

* removed excess pages

* conversion checklist

* pre-lunch changes

* majority review requests, rough reshuffle of Test Categories

* further reshuffle of Test Categories

* review stuffies

* fixed a coup of review comments

* fixed a doctest failures

* reworded function and class intros

---------

Co-authored-by: Martin Yeo <[email protected]>

* added whatsnew entries (#6211)

* added whatsnew entries

* corrected _ to - in githubname

* whatsnew corrections

---------

Co-authored-by: Martin Yeo <[email protected]>

---------

Co-authored-by: Bill Little <[email protected]>
Co-authored-by: Lockfile bot <[email protected]>
Co-authored-by: stephenworsley <[email protected]>
Co-authored-by: Patrick Peglar <[email protected]>
Co-authored-by: Martin Yeo <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henry Wright <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature: pytest Type: Feature Branch Highlight this for a feature branch

Projects

Status: 🏁 Done

Development

Successfully merging this pull request may close these issues.

4 participants