Cómo desactivar la creación de archivos .spec.ts en Angular

Víctor Calderón Oyarce, vcalderondev, vcalderon.dev, web developer

Cómo desactivar la creación de archivos .spec.ts en Angular

Cuando generamos componentes, servicios o directivas en un proyecto Angular utilizando Angular CLI, por defecto se crean archivos de prueba .spec.ts. Si no planeas escribir pruebas unitarias en tu proyecto o deseas desactivar su generación, Angular permite modificar esta configuración fácilmente.

Opción 1: Usar el flag --skip-tests

Al generar nuevos elementos, puedes evitar la creación del archivo de pruebas usando el flag --skip-tests. Por ejemplo:

ng generate component mi-componente --skip-tests

Este comando creará solo los archivos esenciales del componente, sin generar mi-componente.component.spec.ts.

Opción 2: Deshabilitarlo en angular.json

Para evitar que Angular cree archivos de prueba .spec.ts en todas las futuras generaciones, puedes modificar el archivo de configuración angular.json. Busca la sección schematics dentro de projects y añade o modifica la siguiente configuración:

{
  "projects": {
    "tu-proyecto": {
      "schematics": {
        "@schematics/angular:component": {
          "skipTests": true
        },
        "@schematics/angular:service": {
          "skipTests": true
        }
      }
    }
  }
}

Con esta configuración, al generar nuevos componentes y servicios, Angular omitirá automáticamente los archivos .spec.ts.

Opción 3: Crear un alias en npm

Si deseas mantener el comportamiento predeterminado pero evitar escribir siempre --skip-tests, puedes definir un alias en tu archivo package.json. Agrega lo siguiente en la sección scripts:

{
  "scripts": {
    "ngc": "ng generate component --skip-tests",
    "ngs": "ng generate service --skip-tests"
  }
}

Ahora, puedes generar componentes sin archivos de prueba simplemente ejecutando:

npm run ngc mi-componente

Conclusión

Desactivar la generación automática de .spec.ts en Angular es sencillo y puede hacerse de manera global o por comando. Ajustando la configuración en angular.json o utilizando el flag --skip-tests, puedes personalizar Angular CLI según las necesidades de tu proyecto.