JavaRush /Kurslar /All lectures for UZ purposes /Standart annotatsiyalarni qo'llab-quvvatlash

Standart annotatsiyalarni qo'llab-quvvatlash

All lectures for UZ purposes
Daraja, Dars
Mavjud

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.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION