Fixes #2905 : ThreadLocal classes can be mocked. #2908
Merged
+67
−1
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.
Fixes #2905
Changes
MockMethodAdvice
way of checking if an object was a mock didn't work forThreadLocal
classes. The only change here is in methodMockMethodAdvice#isMocked(Object)
where the two conditions are flipped in order to avoid hitting theget()
method fromThreadLocal
used to check if the object was calling itself.Note: this was working in Mockito 4.9.0, didn't check what happens in 5.0.0 and 5.1.0.
Checklist
including project members to get a better picture of the change
commit is meaningful and help the people that will explore a change in 2 years
Fixes #<issue number>
in the description if relevantFixes #<issue number>
if relevant