CLI angolare - comando ng test

Sintassi

ng test <project> [options]
ng t <project> [options]

ng test esegue i casi di unit test sul codice dell'app angolare. Le opzioni sono parametri opzionali.

argomenti

Sr.No. Argomento e sintassi Descrizione
1 <progetto> Il nome del progetto da testare.

Opzioni

Sr.No. Opzione e sintassi Descrizione
1 --browsers = browser Ignora il browser su cui vengono eseguiti i test.
2 --codeCoverage = true | false

Produce un rapporto sulla copertura del codice.

Predefinito: false

3 --codeCoverageExclude Globs da escludere dalla copertura del codice.
4 --configuration = configurazione

Un target build denominato, come specificato nella sezione "configurazioni" di angular.json. Ogni destinazione denominata è accompagnata da una configurazione dei valori predefiniti delle opzioni per quella destinazione. L'impostazione di questo sovrascrive esplicitamente il flag "--prod"

Alias: -c

5 --help = true | false | json | JSON

Mostra un messaggio di aiuto per questo comando nella console.

Predefinito: false

6 --includere

Glob di file da includere, relativi allo spazio di lavoro o alla radice del progetto. Ci sono 2 casi speciali:

  • quando viene fornito un percorso alla directory, verranno inclusi tutti i file delle specifiche che terminano con ".spec. @ (ts | tsx)".

  • quando viene fornito un percorso a un file ed esiste un file delle specifiche corrispondenti, verrà invece incluso.

7 --karmaConfig = karmaConfig Il nome del file di configurazione Karma.
8 --main = main Il nome del file del punto di ingresso principale.
9 --sondaggio Abilita e definisci il periodo di tempo del polling di controllo del file in millisecondi.
10 --polyfills = polyfills Il nome del file polyfills.
11 --preserveSymlinks = true | false

Non utilizzare il percorso reale durante la risoluzione dei moduli.

Predefinito: false

12 --prod = true | false Abbreviazione di "--configuration = production". Quando true, imposta la configurazione della build sulla destinazione di produzione. Per impostazione predefinita, l'obiettivo di produzione è impostato nella configurazione dell'area di lavoro in modo tale che tutte le build utilizzino raggruppamento, scuotimento limitato degli alberi e anche eliminazione limitata del codice morto.
13 --progress = true | false Registra i progressi sulla console durante la costruzione.
13 --progress = true | false Registra i progressi sulla console durante la costruzione.
14 - reporter Reporter del karma da usare. Passato direttamente al corridore del karma.
15 --sourceMap = true | false

Mappe sorgente di output.

Predefinito: vero

16 --tsConfig = tsConfig Il nome del file di configurazione TypeScript.
17 --watch = true | false Esegui build quando i file cambiano.
18 --webWorkerTsConfig = webWorkerTsConfig Configurazione TypeScript per i moduli Web Worker.

Primo passaggio a un progetto angolare aggiornato utilizzando il comando ng build .

Ora esegui il comando di prova.

Esempio

\>Node\>TutorialsPoint> ng test
...
WARN: ''app-goals' is not a known element:
1. If 'app-goals' is an Angular component, then verify that it is part of this module.
2. If 'app-goals' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.'
Chrome 83.0.4103 (Windows 7.0.0): Executed 0 of 4 SUCCESS (0 secs / 0 secs)
...
AppComponent should render title FAILED
   TypeError: Cannot read property 'textContent' of null
      at <Jasmine>
      at UserContext.<anonymous> (http://localhost:9876/_karma_webpack_/src/app/app.component.spec.ts:33:51)
            ...
Chrome 83.0.4103 (Windows 7.0.0): Executed 1 of 4 (1 FAILED) (0 secs / 0.203 secs)
...
Chrome 83.0.4103 (Windows 7.0.0): Executed 2 of 4 (1 FAILED) (0 secs / 0.221 secs)
...
Chrome 83.0.4103 (Windows 7.0.0): Executed 4 of 4 (1 FAILED) (0 secs / 0.244 sec
Chrome 83.0.4103 (Windows 7.0.0): Executed 4 of 4 (1 FAILED) (0.282 secs / 0.244
 secs)
TOTAL: 1 FAILED, 3 SUCCESS

Ora per correggere gli errori, aggiorna il file app.component.spec.ts

app.component.spec.ts

import { TestBed, async } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { AppComponent } from './app.component';

describe('AppComponent', () => {
   beforeEach(async(() => {
      TestBed.configureTestingModule({
         imports: [
            RouterTestingModule
         ],
         declarations: [
            AppComponent
         ],
      }).compileComponents();
   }));

   it('should create the app', () => {
      const fixture = TestBed.createComponent(AppComponent);
      const app = fixture.componentInstance;
      expect(app).toBeTruthy();
   });
});

Ora esegui il comando di prova.

Esempio

\>Node\>TutorialsPoint> ng test
...
WARN: ''app-goals' is not a known element:
1. If 'app-goals' is an Angular component, then verify that it is part of this m
odule.
2. If 'app-goals' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@
NgModule.schemas' of this component to suppress this message.'
Chrome 83.0.4103 (Windows 7.0.0): Executed 1 of 2 SUCCESS (0 secs / 0.053 secs)
...
Chrome 83.0.4103 (Windows 7.0.0): Executed 2 of 2 SUCCESS (0.097 secs / 0.073 se
cs)
TOTAL: 2 SUCCESS

ng test apre anche il browser e visualizza lo stato del test.