Tester Swiper avec Jest
P粉805931281
P粉805931281 2023-08-31 22:35:14
0
1
541

J'ai un composant qui utilise swiper/react. Lors de l'écriture du scénario de test, je ne parviens pas à simuler l'événement swiper obtenu dans onSlideChange. Je ne peux pas transmettre la condition if dans la fonction onSlideChangeHandler. Quelqu'un peut-il m'aider ? Merci!

importer { Swiper, SwiperSlide } depuis 'swiper/react'; fonction d'exportation par défaut Abcxyz(props: PropsType) { ... ... const onSlideChangeHandler = (glisseur) => const activeSlideIndex = swiper.activeIndex; const slides = swiper.slides; if (slides[activeSlideIndex]?.id === 'package d'imprimante hybride') { visibleConfigOptionsStore.setVisibleConfigOptions( diapositives[activeSlideIndex].id ); } } ; retour (  onSlideChangeHandler(swiper)} > ) } 

J'ai essayé plusieurs choses mais rien ne fonctionne jusqu'à présent.

P粉805931281
P粉805931281

répondre à tous (1)
P粉384679266

Puisque vous ne souhaitez pas tester Swiper lui-même et souhaitez simplement vérifier que votre gestionnaire s'exécute lorsque onSlideChange est déclenché, vous pouvez suivre ces étapes :

  1. Mock Swiper pour que vous puissiez utiliser testId et cliquer sur l'événement pour déclencher onSlideChange
jest.mock('swiper/react', () => ({ Swiper: ({ children, onSlideChange }: { children: React.ReactNode; onSlideChange: () => void }) => ( 
{children}
), }));
  1. Déclenchez maintenant des événements et faites des assertions dans vos tests :
fireEvent.click(screen.getByTestId('swiper'));
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!