You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pytest approx wrong formatting return - printing all values as wrong. #12444
Hey! Thanks for this great library!
I am using pytest.approx to compare between 2 dicts (which are not in the same order), whenever the 2 dicts are equal the asserts passes. but if only 1 element is wrong the assert fails (as expected) but the output message shows as if all values were different instead of printing only the wrong one.
pytest == 8.2.0
python == 3.11.7
Ubuntu == 20.04
deftest_approx_dict_equal(): # This tests passes!assert {'a': 1, 'c': 3} ==pytest.approx({'a': 1, 'c': 3})
deftest_approx_dict_ordered(): # This tests fails as expected and return CORRECT outputassert {'a': 1, 'c': 5} ==pytest.approx({'a': 1, 'c': 3})
deftest_approx_dict_unordered(): # This tests fails as expected and return WRONG outputassert {'c': 5, 'a': 1} ==pytest.approx({'a': 1, 'c': 3})
and the output I get from the two failing tests is:
================================================= short test summary info ==================================================
FAILED tests/test_debug_pytest.py::test_approx_dict_ordered - AssertionError: assert {'a': 1, 'c': 5} == approx({'a': 1 ± 1.0e-06, 'c': 3 ± 3.0e-06})
comparison failed. Mismatched elements: 1 / 2:
Max absolute difference: 2
Max relative difference: 0.6666666666666666
Index | Obtained | Expected
c | 5 | 3 ± 3.0e-06
FAILED tests/test_debug_pytest.py::test_approx_dict_unordered - AssertionError: assert {'c': 5, 'a': 1} == approx({'a': 1 ± 1.0e-06, 'c': 3 ± 3.0e-06})
comparison failed. Mismatched elements: 2 / 2:
Max absolute difference: 4
Max relative difference: 4.0
Index | Obtained | Expected
a | 1 | 1 ± 1.0e-06
c | 5 | 3 ± 3.0e-06
======================================== 2 failed, 1 passed, 4 deselected in 0.37s =========================================
Activity
Fix pytest.approx to correctly take account Mapping keys order to com…
Fix pytest.approx to correctly take account Mapping keys order to com…
Fix pytest.approx to correctly take account Mapping keys order to com…
build(security): Update dependency pytest to v9.0.3 [SECURITY] (#217)
chore(deps): update root dev dependencies (patch)
🔒️ Update dependency pytest to v9 [SECURITY] (#16)
[SECURITY] Update dependency pytest to v9 [SECURITY] (#2)
Update dependency pytest to v9 (#35)