Las siguientes anotaciones son compatibles con la semántica estándar para todas las configuraciones de Spring TestContext Framework. Tenga en cuenta que estas anotaciones no son específicas de las pruebas y se pueden usar en cualquier lugar de Spring Framework.

  • @Autowired
  • @Calificador
  • @Value
  • @Resource (jakarta.annotation si JSR-250 está presente
  • @ManagedBean (jakarta.annotation) si JSR-250 está presente
  • @Inject (jakarta.inject) si JSR-330 está presente
  • @Named (jakarta.inject) si JSR-330 está presente
  • @PersistenceContext (javax.persistence) si JPA está presente
  • @PersistenceUnit (javax.persistence) si JPA está presente
  • @Transactional (org.springframework.transaction.annotation) con soporte de atributos limitado

Anotaciones del ciclo de vida JSR-250

El marco Spring TestContext le permite utilizar las anotaciones @PostConstruct y @PreDestroy con semántica estándar para cualquier componente de la aplicación configurado en ApplicationContext. Sin embargo, estas anotaciones del ciclo de vida tienen un uso limitado en una clase de prueba real.

Si un método en una clase de prueba está anotado con @PostConstruct, entonces ese método se ejecuta antes que todos los métodos anteriores del marco de prueba principal (por ejemplo, métodos anotados con @BeforeEach de JUnit Jupiter), y esto se aplica a cada método de prueba. en la clase de prueba. Por otro lado, si un método en una clase de prueba está marcado con la anotación @PreDestroy, ese método nunca se ejecutará. Por lo tanto, dentro de una clase de prueba, se recomienda utilizar devoluciones de llamada del ciclo de vida de prueba desde el entorno de prueba principal en lugar de las anotaciones @PostConstruct y @PreDestroy.