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.
When working on jenkinsci/configuration-as-code-plugin#2623 I was looking for a way to make use of
LoggerRule
without depending on JUnit 4.My workaround jenkinsci/configuration-as-code-plugin#2623 (comment) does the trick but I think it should be optimized.
This PR extracts the logic from
LoggerRule
and provides a JUnit-version-agnostic implementation that is more versatile.I was thinking of adding a JUnit5 extension that is similar to
LoggerRule
however I do not really see the point.The only thing that
@Rule public LoggerRule rule = new LoggerRule();
does is to have an automated clean-up in theTestCase#after
. The way to do this way sleeker in my opinion is to make use ofAutoClosable
like so:See
LogRecorderTest
for more examples of this.Ultimately this new utility enables more tests to migrate away from JUnit4.
Testing done
Clean build with
mvn clean verify
Submitter checklist