-
Notifications
You must be signed in to change notification settings - Fork 112
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
Improve string representation of matcher in allure report #170
Improve string representation of matcher in allure report #170
Conversation
I would prefer something closer to this: def __repr__(self) -> str:
"""Returns the description."""
return "<{}({})>".format(self.__class__.__name__, truncate(self.out, 60)) Basically, I don't think losing the type info is a good plan, and having the debug repr be an unbounded string also has issues. You'd need to implement the Also, if you do this, please put a oneliner in |
I've fixed the code according to you remarks. Not sure about the reason for CI failure. Could you please help me with that? |
Re the CI failure - if you run I think this needs a test of some kind, too. |
Tests (In def testMatcherReprShouldDescribeMatcher(self):
assert repr(FailingBaseMatcher()) == "FailingBaseMatcher(SOME DESCRIPTION)"
def testMatcherReprShouldTruncateLongDescription(self):
class LongDescriptionMatcher(BaseMatcher):
def describe_to(self, description):
description.append_text("1234 " * 13)
assert repr(LongDescriptionMatcher()) == "LongDescriptionMatcher(1234 1234 1234 1234 1234 1234 1234 1234 1234 1234 1234 ...)" |
The PR is just awaiting tests and a change log AFAIC. |
Hello guys! Sorry for the delay. Could you please take a look and give your comments if needed? |
Absolutely - I'll take a look on Monday, when I'm back at my computer. |
Changelog: ========= Features ------------- - * Adds the tests to the sdist. Fixed by openembedded#150 openembedded#141 <hamcrest/PyHamcrest#141> - * Update the CI to test Python 3.10 openembedded#160 <hamcrest/PyHamcrest#160> - * Add pretty string representation for matchers objects openembedded#170 <hamcrest/PyHamcrest#170> Bugfixes ------------ - * Test coverage is now submitted to codecov.io. Fixed by openembedded#150 openembedded#135 <hamcrest/PyHamcrest#135> - Change to the ``has_entry()`` matcher - if exactly one key matches, but the value does not, report only the mismatching value. Fixed by openembedded#157 openembedded#156 <hamcrest/PyHamcrest#156> - * Fix is_() type annotations openembedded#180 <hamcrest/PyHamcrest#180> Misc ------------- - openembedded#150 <hamcrest/PyHamcrest#150> openembedded#159 <hamcrest/PyHamcrest#159> openembedded#162 <hamcrest/PyHamcrest#162> openembedded#163 <hamcrest/PyHamcrest#163> openembedded#166 <hamcrest/PyHamcrest#166> openembedded#175 <hamcrest/PyHamcrest#175> Signed-off-by: Wang Mingyu <[email protected]> Signed-off-by: Khem Raj <[email protected]>
Changelog: ========= Features ------------- - * Adds the tests to the sdist. Fixed by openembedded#150 openembedded#141 <hamcrest/PyHamcrest#141> - * Update the CI to test Python 3.10 openembedded#160 <hamcrest/PyHamcrest#160> - * Add pretty string representation for matchers objects openembedded#170 <hamcrest/PyHamcrest#170> Bugfixes ------------ - * Test coverage is now submitted to codecov.io. Fixed by openembedded#150 openembedded#135 <hamcrest/PyHamcrest#135> - Change to the ``has_entry()`` matcher - if exactly one key matches, but the value does not, report only the mismatching value. Fixed by openembedded#157 openembedded#156 <hamcrest/PyHamcrest#156> - * Fix is_() type annotations openembedded#180 <hamcrest/PyHamcrest#180> Misc ------------- - openembedded#150 <hamcrest/PyHamcrest#150> openembedded#159 <hamcrest/PyHamcrest#159> openembedded#162 <hamcrest/PyHamcrest#162> openembedded#163 <hamcrest/PyHamcrest#163> openembedded#166 <hamcrest/PyHamcrest#166> openembedded#175 <hamcrest/PyHamcrest#175> Signed-off-by: Wang Mingyu <[email protected]> Signed-off-by: Khem Raj <[email protected]>
Changelog: ========= Features ------------- - * Adds the tests to the sdist. Fixed by openembedded#150 openembedded#141 <hamcrest/PyHamcrest#141> - * Update the CI to test Python 3.10 openembedded#160 <hamcrest/PyHamcrest#160> - * Add pretty string representation for matchers objects openembedded#170 <hamcrest/PyHamcrest#170> Bugfixes ------------ - * Test coverage is now submitted to codecov.io. Fixed by openembedded#150 openembedded#135 <hamcrest/PyHamcrest#135> - Change to the ``has_entry()`` matcher - if exactly one key matches, but the value does not, report only the mismatching value. Fixed by openembedded#157 openembedded#156 <hamcrest/PyHamcrest#156> - * Fix is_() type annotations openembedded#180 <hamcrest/PyHamcrest#180> Misc ------------- - openembedded#150 <hamcrest/PyHamcrest#150> openembedded#159 <hamcrest/PyHamcrest#159> openembedded#162 <hamcrest/PyHamcrest#162> openembedded#163 <hamcrest/PyHamcrest#163> openembedded#166 <hamcrest/PyHamcrest#166> openembedded#175 <hamcrest/PyHamcrest#175> Signed-off-by: Wang Mingyu <[email protected]> Signed-off-by: Khem Raj <[email protected]>
Changelog: ========= Features ------------- - * Adds the tests to the sdist. Fixed by #150 #141 <hamcrest/PyHamcrest#141> - * Update the CI to test Python 3.10 #160 <hamcrest/PyHamcrest#160> - * Add pretty string representation for matchers objects #170 <hamcrest/PyHamcrest#170> Bugfixes ------------ - * Test coverage is now submitted to codecov.io. Fixed by #150 #135 <hamcrest/PyHamcrest#135> - Change to the ``has_entry()`` matcher - if exactly one key matches, but the value does not, report only the mismatching value. Fixed by #157 #156 <hamcrest/PyHamcrest#156> - * Fix is_() type annotations #180 <hamcrest/PyHamcrest#180> Misc ------------- - #150 <hamcrest/PyHamcrest#150> #159 <hamcrest/PyHamcrest#159> #162 <hamcrest/PyHamcrest#162> #163 <hamcrest/PyHamcrest#163> #166 <hamcrest/PyHamcrest#166> #175 <hamcrest/PyHamcrest#175> Signed-off-by: Wang Mingyu <[email protected]> Signed-off-by: Khem Raj <[email protected]> Signed-off-by: Trevor Gamblin <[email protected]>
Changelog: ========= Features ------------- - * Adds the tests to the sdist. Fixed by #150 #141 <hamcrest/PyHamcrest#141> - * Update the CI to test Python 3.10 #160 <hamcrest/PyHamcrest#160> - * Add pretty string representation for matchers objects #170 <hamcrest/PyHamcrest#170> Bugfixes ------------ - * Test coverage is now submitted to codecov.io. Fixed by #150 #135 <hamcrest/PyHamcrest#135> - Change to the ``has_entry()`` matcher - if exactly one key matches, but the value does not, report only the mismatching value. Fixed by #157 #156 <hamcrest/PyHamcrest#156> - * Fix is_() type annotations #180 <hamcrest/PyHamcrest#180> Misc ------------- - #150 <hamcrest/PyHamcrest#150> #159 <hamcrest/PyHamcrest#159> #162 <hamcrest/PyHamcrest#162> #163 <hamcrest/PyHamcrest#163> #166 <hamcrest/PyHamcrest#166> #175 <hamcrest/PyHamcrest#175> Signed-off-by: Wang Mingyu <[email protected]> Signed-off-by: Khem Raj <[email protected]> Signed-off-by: Trevor Gamblin <[email protected]>
Changelog: ========= Features ------------- - * Adds the tests to the sdist. Fixed by #150 #141 <hamcrest/PyHamcrest#141> - * Update the CI to test Python 3.10 #160 <hamcrest/PyHamcrest#160> - * Add pretty string representation for matchers objects #170 <hamcrest/PyHamcrest#170> Bugfixes ------------ - * Test coverage is now submitted to codecov.io. Fixed by #150 #135 <hamcrest/PyHamcrest#135> - Change to the ``has_entry()`` matcher - if exactly one key matches, but the value does not, report only the mismatching value. Fixed by #157 #156 <hamcrest/PyHamcrest#156> - * Fix is_() type annotations #180 <hamcrest/PyHamcrest#180> Misc ------------- - #150 <hamcrest/PyHamcrest#150> #159 <hamcrest/PyHamcrest#159> #162 <hamcrest/PyHamcrest#162> #163 <hamcrest/PyHamcrest#163> #166 <hamcrest/PyHamcrest#166> #175 <hamcrest/PyHamcrest#175> Signed-off-by: Wang Mingyu <[email protected]> Signed-off-by: Khem Raj <[email protected]> Signed-off-by: Trevor Gamblin <[email protected]>
Matchers in allure report now look like:
<hamcrest.core.core.isnot.IsNot object at 0x7f7262d17c40>
PR purpose:
Make it look more pretty