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:
|
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.