Quyidagi annotatsiyalar Spring TestContext Frameworkning barcha konfiguratsiyalari uchun standart semantika bilan qo'llab-quvvatlanadi. Ushbu annotatsiyalar testlar uchun maxsus emasligiga e'tibor bering va ular Spring Frameworkning istalgan joyida ishlatilishi mumkin.
- @Autowired
- @Qualifier
- @Value
- @Resource (jakarta.annotation, agarda JSR-250 mavjud bo'lsa)
- @ManagedBean (jakarta.annotation), agarda JSR-250 mavjud bo'lsa)
- @Inject (jakarta.inject), agarda JSR-330 mavjud bo'lsa)
- @Named (jakarta.inject), agarda JSR-330 mavjud bo'lsa)
- @PersistenceContext (javax.persistence), agarda JPA mavjud bo'lsa)
- @PersistenceUnit (javax.persistence), agarda JPA mavjud bo'lsa)
- @Transactional (org.springframework.transaction.annotation) cheklangan atributlar qo'llab-quvvatlovi bilan
JSR-250 hayotiy sikl annotatsiyalari
Spring TestContext Frameworkda @PostConstruct va @PreDestroy annotatsiyalarini ApplicationContextda sozlangan har qanday dastur komponentlari uchun standart semantika bilan ishlatsa bo'ladi. Ammo, bu hayotiy sikl annotatsiyalari real test sinflarida cheklangan foydalanishga ega.
Agar test sinfida metod @PostConstruct bilan annotatsiyalangan bo'lsa, bu metod asosiy test frameworkining barcha metodlaridan oldin (masalan, JUnit Jupiterdagi @BeforeEach bilan annotatsiyalangan metodlar) ishlaydi va bu har bir test metodiga tegishli. Boshqa tarafdan, agar test sinfida metod @PreDestroy bilan belgilangan bo'lsa, bu metod hech qachon bajarilmaydi. Shu sababli, test sinfi doirasida @PostConstruct va @PreDestroy annotatsiyalari o'rniga asosiy test muhitidan hayotiy siklning chaqiriqlarini ishlatishni tavsiya qilamiz.
GO TO FULL VERSION