ReflectionTestUtils
|
abstract class ReflectionTestUtils
ReflectionTestUtils is a collection of reflection-based utility methods for use in unit and integration testing scenarios.
There are often times when it would be beneficial to be able to set a non-public field, invoke a non-public setter method, or invoke a non-public configuration or lifecycle callback method when testing code involving, for example:
- ORM frameworks such as JPA and Hibernate which condone the usage of
private or protected field access as opposed to public setter methods for properties in a domain entity.
- Spring's support for annotations such as org.springframework.beans.factory.annotation.Autowired, javax.inject.Inject, and javax.annotation.Resource which provides dependency injection for
private or protected fields, setter methods, and configuration methods.
- Use of annotations such as javax.annotation.PostConstruct and javax.annotation.PreDestroy for lifecycle callback methods.
In addition, several methods in this class provide support for static fields — for example, #setField(Class, String, Object) , #getField(Class, String) , etc.
|