This update for mockito, snakeyaml, testng fixes the following issues:
mockito was updated to version 5.11.0:
-
Added bundle manifest to the mockito-core artifact
-
Mockito 5 is making core changes to ensure compatibility with future JDK versions.
-
Switch the Default MockMaker to mockito-inline (not applicable to mockito-android)
- Mockito 2.7.6 introduced the mockito-inline mockmaker based on the 'inline bytecode' principle, offering
compatibility advantages over the subclass mockmaker
- This change avoids JDK restrictions, such as violating module boundaries and leaking subclass creation
-
Legitimate use cases for the subclass mockmaker:
- Scenarios where the inline mockmaker does not function, such as on Graal VM's native image
- If avoiding mocking final classes, the subclass mockmaker remains a viable option, although issues may arise on
JDK 17+
- Mockito aims to support both mockmakers, allowing users to choose based on their requirements.
-
Update the Minimum Supported Java Version to 11
- Mockito 5 raised the minimum supported Java version to 11
- Community member @reta contributed to this change.
- Users still on JDK 8 can continue using Mockito 4, with minimal API differences between versions
-
New type() Method on ArgumentMatcher
- The ArgumentMatcher interface now includes a new type() method to support varargs methods, addressing previous
limitations
- Users can now differentiate between matching calls with any exact number of arguments or match any number of
arguments
- Mockito 5 provides a default implementation of the new method, ensuring backward compatibility.
- No obligation for users to implement the new method; Mockito 5 considers Void.type by default for varargs handling
- ArgumentCaptor is now fully type-aware, enabling capturing specific subclasses on a generic method.
-
byte-buddy does not bundle asm, but uses objectweb-asm as external library
snake-yaml was updated to version 2.2:
-...