-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pytest migration for unit.common.lenient.test__qualname #5845
pytest migration for unit.common.lenient.test__qualname #5845
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## FEATURE_pytest_conversion #5845 +/- ##
=============================================================
- Coverage 89.74% 89.74% -0.01%
=============================================================
Files 92 92
Lines 22940 22940
Branches 5462 5462
=============================================================
- Hits 20588 20587 -1
- Misses 1620 1621 +1
Partials 732 732 ☔ View full report in Codecov by Sentry. |
e35bc4b
to
5fbd7be
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One detail to consider,
OWOK!
class Test(tests.IrisTest): | ||
def setUp(self): | ||
class Test: | ||
def setup_method(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only just realised that this does work, and why pytestify does it this way.
The docs are rather quiet about it, but it is covered here
Nevertheless., I think I still prefer @fixture(autouse=True)
, and maybe we should standardise on that ??
In particular, I think a "setup_method" is not a fixture, and is not called in quite the same way, and it can't reference another fixture, e.g. mocker for a 'mocker.patch'.
def setup_method(self): | |
@pytest.fixture(autouse=True) | |
def _setup(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, all true.
Perhaps worth a sprint discussion?
I've erred on the side of using a fixture(autouse=True)
when I don't need to use the mocker
fixture in the setup
, otherwise default to the pytest
convenience of setup_method
, which like you mention isn't a fixture.
I'm happy either way. We're just all stumbling across these patterns as we roll, but I'd agree that as a group we should be consistent 👍
* 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]>
🚀 Pull Request
Description
Consult Iris pull request check list
Add any of the below labels to trigger actions on this PR: