Angular CLI - ng test Befehl

Syntax

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

ng test Führen Sie die Unit-Testfälle mit eckigem App-Code aus. Optionen sind optionale Parameter.

Argumente

Sr.Nr. Argument & Syntax Beschreibung
1 <Projekt> Der Name des zu testenden Projekts.

Optionen

Sr.Nr. Option & Syntax Beschreibung
1 --browsers = Browser Überschreiben Sie, für welche Browsertests ausgeführt wird.
2 --codeCoverage = true | false

Geben Sie einen Bericht zur Codeabdeckung aus.

Standard: false

3 --codeCoverageExclude Globs, die von der Codeabdeckung ausgeschlossen werden sollen.
4 --configuration = Konfiguration

Ein benanntes Build-Ziel, wie im Abschnitt "Konfigurationen" von angle.json angegeben. Jedes benannte Ziel wird von einer Konfiguration der Optionsstandards für dieses Ziel begleitet. Wenn Sie dies explizit festlegen, wird das Flag "--prod" überschrieben

Aliase: -c

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

Zeigt eine Hilfemeldung für diesen Befehl in der Konsole an.

Standard: false

6 --einschließen

Globus von Dateien, die relativ zum Arbeitsbereich oder zum Projektstamm eingeschlossen werden sollen. Es gibt 2 Sonderfälle -

  • Wenn ein Pfad zum Verzeichnis angegeben wird, werden alle Spezifikationsdateien mit der Endung ".spec. @ (ts | tsx)" eingeschlossen.

  • Wenn ein Pfad zu einer Datei angegeben wird und eine passende Spezifikationsdatei vorhanden ist, wird diese stattdessen eingefügt.

7 --karmaConfig = karmaConfig Der Name der Karma-Konfigurationsdatei.
8 --main = main Der Name der Haupteinstiegspunktdatei.
9 --Umfrage Aktivieren und definieren Sie den Zeitraum für die Abfrage der Dateiüberwachung in Millisekunden.
10 --polyfills = polyfills Der Name der Polyfills-Datei.
11 --preserveSymlinks = true | false

Verwenden Sie beim Auflösen von Modulen nicht den realen Pfad.

Standard: false

12 --prod = true | false Abkürzung für "--configuration = Produktion". Wenn true, wird die Buildkonfiguration auf das Produktionsziel festgelegt. Standardmäßig ist das Produktionsziel in der Arbeitsbereichskonfiguration so eingerichtet, dass alle Builds Bündelung, begrenztes Baumschütteln und begrenzte Eliminierung von totem Code verwenden.
13 --progress = true | false Protokollieren Sie den Fortschritt während des Erstellens in der Konsole.
13 --progress = true | false Protokollieren Sie den Fortschritt während des Erstellens in der Konsole.
14 - Reporter Karma-Reporter zu verwenden. Direkt an den Karma-Läufer weitergegeben.
15 --sourceMap = true | false

Ausgabe-Quellkarten.

Standard: true

16 --tsConfig = tsConfig Der Name der TypeScript-Konfigurationsdatei.
17 --watch = true | false Führen Sie build aus, wenn sich Dateien ändern.
18 --webWorkerTsConfig = webWorkerTsConfig TypeScript-Konfiguration für Web Worker-Module.

Wechseln Sie zuerst zu einem Winkelprojekt, das mit dem Befehl ng build aktualisiert wurde .

Führen Sie nun den Testbefehl aus.

Beispiel

\>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

Um Fehler zu beheben, aktualisieren Sie jetzt die Datei 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();
   });
});

Führen Sie nun den Testbefehl aus.

Beispiel

\>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 öffnet auch den Browser und zeigt den Teststatus an.