Angular CLI - ng test Command

Składnia

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

ng test uruchamia przypadki testów jednostkowych w kodzie aplikacji kątowej. Opcje są parametrami opcjonalnymi.

Argumenty

Sr.No. Argument i składnia Opis
1 <project> Nazwa projektu do przetestowania.

Opcje

Sr.No. Opcja i składnia Opis
1 --browsers = przeglądarki Zastąp, dla których są uruchamiane testy przeglądarek.
2 --codeCoverage = true | false

Wyprowadź raport pokrycia kodu.

Domyślnie: false

3 --codeCoverageExclude Kule do wyłączenia z zakresu kodu.
4 --configuration = konfiguracja

Nazwany cel kompilacji określony w sekcji „configuration” pliku angular.json. Każdemu nazwanemu celowi towarzyszy konfiguracja domyślnych opcji dla tego celu. Ustawienie tej opcji jawnie zastępuje flagę „--prod”

Aliasy: -c

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

Wyświetla komunikat pomocy dla tego polecenia w konsoli.

Domyślnie: false

6 --zawierać

Kulki plików do dołączenia względem obszaru roboczego lub katalogu głównego projektu. Istnieją 2 specjalne przypadki -

  • gdy zostanie podana ścieżka do katalogu, dołączone zostaną wszystkie pliki specyfikacji kończące się na „.spec. @ (ts | tsx)”.

  • jeśli podano ścieżkę do pliku i istnieje pasujący plik specyfikacji, zostanie on dołączony.

7 --karmaConfig = karmaConfig Nazwa pliku konfiguracyjnego Karma.
8 --main = main Nazwa głównego pliku punktu wejścia.
9 --głosowanie Włącz i zdefiniuj okres odpytywania monitorowania plików w milisekundach.
10 --polyfills = polyfills Nazwa pliku polyfills.
11 --preserveSymlinks = true | false

Nie używaj prawdziwej ścieżki podczas rozwiązywania modułów.

Domyślnie: false

12 --prod = true | false Skrót od „--configuration = production”. Gdy prawda, ustawia konfigurację kompilacji na cel produkcyjny. Domyślnie cel produkcyjny jest skonfigurowany w konfiguracji obszaru roboczego w taki sposób, że wszystkie kompilacje wykorzystują pakowanie, ograniczone wstrząsanie drzewami, a także ograniczoną eliminację martwego kodu.
13 --progress = true | false Rejestruj postęp na konsoli podczas budowania.
13 --progress = true | false Rejestruj postęp na konsoli podczas budowania.
14 - reporterów Reporterzy Karma do wykorzystania. Bezpośrednio przekazany biegaczowi karmy.
15 --sourceMap = true | false

Wyjściowe mapy źródeł.

Domyślnie: prawda

16 --tsConfig = tsConfig Nazwa pliku konfiguracyjnego TypeScript.
17 --watch = true | false Uruchom kompilację, gdy pliki się zmienią.
18 --webWorkerTsConfig = webWorkerTsConfig Konfiguracja TypeScript dla modułów Web Worker.

Najpierw przejdź do projektu kątowego zaktualizowanego za pomocą polecenia ng build .

Teraz uruchom polecenie testowe.

Przykład

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

Teraz, aby naprawić awarie, zaktualizuj plik 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();
   });
});

Teraz uruchom polecenie testowe.

Przykład

\>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 otwiera również przeglądarkę i wyświetla status testu.