Estoy tratando de ejecutar pruebas de componentes en la aplicación web Angular usando serenityJS + Jasmine pero encontré el siguiente error. ¿Alguna idea de cómo puedo resolver este problema?
Message: Error: zone-testing.js is needed for the fakeAsync() test helper but could not be found. Please make sure that your environment includes zone.js/dist/zone-testing.js Stack: Error: zone-testing.js es necesario para el asistente de prueba fakeAsync() pero no se pudo encontrar. Asegúrese de que su entorno incluya zone.js/dist/zone-testing.js en resetFakeAsyncZone (C:\Users\zhenweiwong\Desktop\serenityjsframework\packages\core\testing\src\fake_async.ts:25:9) en UserContext . (C:\Users\zhenweiwong\Desktop\serenityjsframework\packages\core\testing\src\before_each.ts:26:5) en processImmediate (internal/timers.js:439:21) en process.topLevelDomainCallback (domain.js :131:23) Mensaje: Error: En esta configuración, Angular requiere Zone.js Pila: Error: En esta configuración, Angular requiere Zone.js en la nueva NgZone (C:\Users\zhenweiwong\Desktop\serenityjsframework\packages\core\src\ zone\ng_zone.ts:129:13) en TestBedViewEngine._initIfNeeded (C:\Users\zhenweiwong\Desktop\serenityjsframework\packages\core\testing\src\test_bed.ts:409:9) en TestBedViewEngine.createComponent (C:\ Usuarios\zhenweiwong\Desktop\serenityjsframework\packages\core\testing\src\test_bed.ts:599:10) en Function.TestBedViewEngine.createComponent (C:\Users\zhenweiwong\Desktop\serenityjsframework\packages\core\testing\src\ test_bed.ts:245:36)
en UserContext. (C:\Users\zhenweiwong\Desktop\serenityjsframework\jasmine-test\spec\app1.component.spec.ts:32:29) a las
Este problema aparece en la imagen de Angular v11.
Solución: mueva import 'zone.js/dist/zone-testing'; en la parte superior del archivo src/test.ts .
Recibí el mismo problema después de actualizar de Angular 10 a Angular 12. Luego lo solucioné moviendo la import 'zone.js/testing a la parte superior del archivo test.ts
Hola, un poco tarde para responder, pero dejo el comentario aquí para futuras referencias:
ORIGEN DEL ERROR
En mi caso, el error se encontró en el archivo test.ts. Este archivo establece la configuración de TestBed que se usa de manera predeterminada en los archivos de especificaciones de Angular cuando se crea con el comando ng generar componente my-component .
SOLUCIÓN
La solución es asegurarse de que las siguientes importaciones estén en la parte superior del archivo test.ts antes de cualquier otra importación:
import 'zone.js'; import 'zone.js/testing';Tenga cuidado con sus configuraciones que pueden alterar el orden de esas importaciones, ya que puede provocar que las pruebas se rompan nuevamente. Es por eso que podría, sobre el archivo test.ts :
SOLUCIÓN DE PROBLEMAS ADICIONALES
También es posible que desee ver si las siguientes importaciones están presentes:
import 'zone.js'; import 'zone.js/dist/async-test.js'; import 'zone.js/dist/proxy.js'; import 'zone.js/dist/sync-test'; import 'zone.js/dist/jasmine-patch';El mismo problema se resolvió con otros enfoques en este hilo .