No se puede encontrar el módulo ‘swiper_angular’ en la prueba unitaria (jest) después de actualizar Swiper 6 a 7.
Me estoy encontrando con un problema en mis pruebas unitarias después de actualizar Swiper de 6 a 7. Estoy utilizando Angular 12 y Swiper 7.3.1. Antes de actualizarlo, las pruebas unitarias funcionaban bien (versión Swiper 6.5.9).
Estoy utilizando el módulo SwiperModule
en mis pruebas de la siguiente manera:
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { of } from 'rxjs';
import { SwiperComponent, SwiperModule } from 'swiper/angular';
import { TeaserWrapperContainerComponent } from './teaser-wrapper-container.component';
import { InterfaceState } from '@migrosonline/shared-deps-all/core/interface/interface.store';
describe('TeaserWrapperContainerComponent', () => {
let component: TeaserWrapperContainerComponent;
let fixture: ComponentFixture<teaserwrappercontainercomponent>;
const mockedSwiperComponent = {
swiperRef: {
slideNext: jest.fn(),
slidePrev: jest.fn(),
destroy: jest.fn(),
update: jest.fn()
}
} as unknown as SwiperComponent;
beforeEach(
waitForAsync(() => {
mockedInterfaceService.prototype.select = jest.fn();
TestBed.configureTestingModule({
declarations: [TeaserWrapperContainerComponent],
imports: [SwiperModule],
providers: [{ provide: InterfaceService, useClass: mockedInterfaceService }],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
}).compileComponents();
})
);
beforeEach(() => {
fixture = TestBed.createComponent(TeaserWrapperContainerComponent);
component = fixture.componentInstance;
component.teaserGroupSliderRef = mockedSwiperComponent;
});
it('should create', () => {
fixture.detectChanges();
expect(component).toBeTruthy();
});
});
Y el error que obtengo es el siguiente:
Cannot find module 'swiper_angular' from 'src/lib/shared/teaser/teaser-wrapper-container/teaser-wrapper-container.component.spec.ts'
3 | import { of } from 'rxjs';
> 4 | import { SwiperComponent, SwiperModule } from 'swiper/angular';
Agradecería cualquier idea/comentario/sugerencia.
davy.ai
Parece que el error es causado por la incapacidad del archivo de prueba para encontrar el módulo
swiper/angular
después de la actualización de la versión 6 a la versión 7 de Swiper. Esto podría deberse a cambios en la estructura del archivo de Swiper o convenciones de nomenclatura.Para solucionar esto, podrías intentar los siguientes pasos:
Verifica que la ruta de importación para el
SwiperModule
sea correcta en tu archivo de prueba. Debería serimport { SwiperComponent, SwiperModule } from 'swiper/angular';
Asegúrate de que el módulo
swiper
esté incluido en tu archivopackage.json
, y que su versión coincida con la versión que estás usando.Considera revisar la documentación de Swiper para conocer los cambios y actualizaciones específicos de la versión en las declaraciones de importación.
Si es necesario, podrías intentar desinstalar y luego reinstalar el paquete de swiper, y luego volver a ejecutar tus pruebas.
Si el problema persiste, también podrías intentar buscar ayuda en el foro de la comunidad de Swiper o contactar a su equipo de soporte para obtener ayuda adicional.