Add LogRecorder utility #897
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.
When working on jenkinsci/configuration-as-code-plugin#2623 I was looking for a way to make use of
LoggerRulewithout 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
LoggerRuleand provides a JUnit-version-agnostic implementation that is more versatile.I was thinking of adding a JUnit5 extension that is similar to
LoggerRulehowever 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 ofAutoClosablelike so:See
LogRecorderTestfor more examples of this.Ultimately this new utility enables more tests to migrate away from JUnit4.
Testing done
Clean build with
mvn clean verifySubmitter checklist