spring-framework / org.springframework.test.util

Package org.springframework.test.util

Types

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.