Búsqueda de sitios web

javascript - conflictos de tipo Jasmine/Jest


Soy relativamente nuevo aquí y necesitaría algo de ayuda. La empresa para la que trabajo utiliza Karma y Jasmine para pruebas unitarias. Ahora les gustaría migrar algunas pruebas a Jest. Me asignaron un ticket. Por cierto, estamos usando TypeScript... Tengo Jest instalado, con el prefijo .spec.jest.ts para separar las pruebas de Jest de las de Karma. Y funciona bien. Jest solo detecta los archivos que tienen ese prefijo. Pero cuando intento hacer algunas tareas de compilación que hacemos con nuestro proyecto, obtengo conflictos de declaración de tipos entre Jest y Jasmine. Por ejemplo: node_modules/@types/jest/index.d.ts:32:1 - error TS6200: Las definiciones de los siguientes identificadores entran en conflicto con las de otro archivo: beforeAll, beforeEach, afterAll, afterEach, describe, fdescribe, xdescribe, it, fit, xit, expect, clock, DEFAULT_TIMEOUT_INTERVAL, CustomMatcherFactory, CustomEqualityTester

Soy consciente de que Jest se construye sobre Jasmine, pero ¿hay algún tipo de solución alternativa? Queremos migrar nuestras pruebas gradualmente. Una a la vez. ¿Hay algún tipo de solución para poner bajo un espacio de nombres los tipos para Jest o algo así para que no ocurran conflictos?

Gracias de antemano por tu ayuda :)

Intenté buscar en Google alguna solución alternativa, pero no encontré nada que resolviera el problema.

Respuesta #1

Excluimos los tipos de karma en el tsconfig y añadimos los tipos de jest. El IDE ahora no reconoce los tipos de karma, pero nos funciona ya que la mayoría de nuestras pruebas ahora están en jest y quedan muy pocas en karma, y el proceso de compilación ahora funciona correctamente ya que no hay más conflictos de tipos.

Artículos relacionados