Safeguard JUnit logger against non-standard TestCase #3438
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Not all project-specific implementations of
TestCase
implement support for information methods like e.g.TestCase::getNumAssertions()
orTestCase::hasOutput()
Rather than causing a scary fatal in the JUnit logger, we quietly skip these elements in the log.ping @Naktibalda 🎁
Note
I do realize this is a quickfix, however I would rather have this than have existing test collections fail unexpectedly when run with the JUnit logger. The projects that have spent time on implementing their own
TestCase
are usually large and complex. I feel it to be much nicer to add some protection on the PHPUnit side as a courtesy for now (7.x) and focus on creating an easy-to-use the TestHook system in version 8.x.