es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Incapaz de ejecutar un archivo .spec.ts específico a través del cli de Angular mediante la opción ng test –include.

Estoy intentando ejecutar un solo archivo .spec en mi proyecto ionic/angular usando el siguiente comando:

ng test
–include=”/home/usama/Documents/Vanguard-Office/PrimeTutor/PrimeTutorClient/src/app/login/login.page.spec.ts”
–source-map=false

O reemplazando la ruta absoluta con una ruta relativa.

Cuando ejecuto este comando, todos los archivos de especificaciones se ejecutan como se puede ver en la interfaz de línea de comandos:

Esta es mi archivo test.ts:

// Este archivo es requerido por karma.conf.js y carga recursivamente todos los archivos .spec y framework.

import ‘zone.js/dist/zone-testing’;
import { getTestBed } from ‘@angular/core/testing’;
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting
} from ‘@angular/platform-browser-dynamic/testing’;

declare const require: any;

// Primero, inicializamos el entorno de prueba de Angular.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
// Luego encontramos todas las pruebas.
const context = require.context(‘./’, true, /.spec.ts$/);
// Y cargamos los módulos.
context.keys().map(context);

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el comando que estás utilizando para ejecutar un solo archivo .spec en tu proyecto ionic/angular no está funcionando como se esperaba. En lugar de ejecutar solo el archivo específico que estás incluyendo, se están ejecutando todos los archivos de especificación.

    Una posible solución para ejecutar un solo archivo .spec es modificar tu archivo test.ts para cargar solo el archivo específico que deseas probar. Puedes hacer esto cambiando el parámetro de contexto en la llamada require.context():

    const context = require.context(
      '/home/usama/Documents/Vanguard-Office/PrimeTutor/PrimeTutorClient/src/app/login',
      true,
      /login.page.spec\.ts$/
    );
    

    Esto solo cargará el archivo login.page.spec.ts dentro del directorio login, permitiéndote ejecutar pruebas para ese solo archivo.

    Luego, puedes ejecutar tus pruebas con el comando estándar:

    ng test --source-map=false
    

    Esto debería ejecutar solo las pruebas para tu archivo específico.

Comments are closed.