Açısal CLI - ng test Komutu

Sözdizimi

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

ng testi, açısal uygulama kodu üzerinde birim test durumlarını çalıştırın. Seçenekler isteğe bağlı parametrelerdir.

Argümanlar

Sr.No. Bağımsız Değişken ve Sözdizimi Açıklama
1 <proje> Test edilecek projenin adı.

Seçenekler

Sr.No. Seçenek ve Sözdizimi Açıklama
1 --browsers = tarayıcılar Hangi tarayıcı testlerinin çalıştırılacağını geçersiz kılın.
2 --codeCoverage = true | false

Bir kod kapsamı raporu yazdırın.

Varsayılan: yanlış

3 --codeCoverageExclude Kod kapsamının dışında tutulacak küreler.
4 --configuration = konfigürasyon

Angular.json'un "konfigürasyonlar" bölümünde belirtildiği gibi adlandırılmış bir yapı hedefi. Her adlandırılmış hedefe, o hedef için varsayılan seçenek konfigürasyonu eşlik eder. Bunu açıkça ayarlamak "--prod" bayrağını geçersiz kılar

Takma adlar: -c

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

Konsolda bu komut için bir yardım mesajı gösterir.

Varsayılan: yanlış

6 --Dahil etmek

Çalışma alanı veya proje köküne göre dahil edilecek dosya küreleri. 2 özel durum vardır -

  • dizine bir yol sağlandığında, ".spec. @ (ts | tsx)" ile biten tüm özellik dosyaları dahil edilecektir.

  • bir dosyaya giden bir yol sağlandığında ve eşleşen bir özellik dosyası bulunduğunda, bunun yerine dahil edilecektir.

7 --karmaConfig = karmaConfig Karma yapılandırma dosyasının adı.
8 --main = main Ana giriş noktası dosyasının adı.
9 --anket Dosya izleme yoklama süresini milisaniye cinsinden etkinleştirin ve tanımlayın.
10 --polyfills = çoklu dolgular Polyfills dosyasının adı.
11 --preserveSymlinks = true | false

Modülleri çözerken gerçek yolu kullanmayın.

Varsayılan: yanlış

12 --prod = true | yanlış "--Configuration = production" için kısa açıklama. Doğru olduğunda, derleme yapılandırmasını üretim hedefine ayarlar. Varsayılan olarak, üretim hedefi çalışma alanı konfigürasyonunda ayarlanır, böylece tüm yapılarda gruplama, sınırlı ağaç sallama ve sınırlı ölü kod eliminasyonu kullanılır.
13 --progress = true | false İnşa ederken ilerlemeyi konsola kaydedin.
13 --progress = true | false İnşa ederken ilerlemeyi konsola kaydedin.
14 --reporters Karma muhabirleri kullanmak. Doğrudan karma koşucusuna geçti.
15 --sourceMap = true | false

Çıktı kaynak haritaları.

Varsayılan: doğru

16 --tsConfig = tsConfig TypeScript yapılandırma dosyasının adı.
17 --watch = true | false Dosyalar değiştiğinde derlemeyi çalıştırın.
18 --webWorkerTsConfig = webWorkerTsConfig Web Çalışanı modülleri için TypeScript yapılandırması.

Önce ng build komutunu kullanarak güncellenen bir açısal projeye geçin .

Şimdi test komutunu çalıştırın.

Misal

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

Şimdi hataları düzeltmek için app.component.spec.ts'i güncelleyin

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();
   });
});

Şimdi test komutunu çalıştırın.

Misal

\>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 testi ayrıca tarayıcıyı açar ve test durumunu görüntüler.