Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

357
Visualizações
¿Por qué no se procesan los componentes secundarios cuando se prueba con React Testing Library?

Estoy escribiendo pruebas unitarias de UI usando Jest/Testing Library.

Tengo un componente DashboardLayout que devuelve

 return ( <DashboardLayoutRoot sx={{ marginTop: '30px' }}> <DashboardNavbar onSidebarMobileOpen={(): void => setIsSidebarMobileOpen(true)} /> <DashboardSidebar onMobileClose={(): void => setIsSidebarMobileOpen(false)} openMobile={isSidebarMobileOpen} /> <DashboardLayoutWrapper> <DashboardLayoutContainer> <DashboardLayoutContent>{children}</DashboardLayoutContent> </DashboardLayoutContainer> </DashboardLayoutWrapper> </DashboardLayoutRoot> );

DashboardNavBar:

 <DashboardNavbarRoot {...other}> <Toolbar sx={{ minHeight: 64 }}> <Hidden lgUp> <IconButton color="inherit" onClick={onSidebarMobileOpen}> <MenuIcon fontSize="small" data-testid="sidebar-icon" /> </IconButton> </Hidden>

Como puede ver, configuré testid en MenuIcon.

Sin embargo, al renderizar en prueba, getByTestId falla.

 // skip setup above render( <Provider store={store}> <DashboardLayout /> </Provider>, ); const sidebarIcon = screen.getByTestId('sidebar-icon'); expect(sidebarIcon).toBeVisible();

Configuré todo correctamente, como enrutador simulado, proveedor, etc.

¿Por qué está pasando esto?

¿Debería representar DashboardNavbar solo? (aunque no estoy seguro de si esto sería una buena prueba de unidad de interfaz de usuario)

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Es posible que deba simular el componente secundario y probar el componente simulado

 // skip setup above jest.mock('./MenuIcon', () => ({ MenuIcon : () => 'mocked menu icon' })); const container = render( <Provider store={store}> <DashboardLayout /> </Provider>, ); expect(container).toMatchInlineSnapshot(` <div> mocked menu icon </div> `);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda