Angular CLI-ngtestコマンド

構文

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

ng testは、Angularアプリコードで単体テストケースを実行します。オプションはオプションのパラメータです。

引数

シニア番号 引数と構文 説明
1 <プロジェクト> テストするプロジェクトの名前。

オプション

シニア番号 オプションと構文 説明
1 --browsers = browsers テストが実行されるブラウザを上書きします。
2 --codeCoverage = true | false

コードカバレッジレポートを出力します。

デフォルト:false

3 --codeCoverageExclude コードカバレッジから除外するグロブ。
4 --configuration = configuration

angle.jsonの「構成」セクションで指定されている名前付きビルドターゲット。名前付きの各ターゲットには、そのターゲットのオプションのデフォルトの構成が付属しています。これを明示的に設定すると、「-prod」フラグが上書きされます

エイリアス:-c

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

このコマンドのヘルプメッセージをコンソールに表示します。

デフォルト:false

6 -含む

ワークスペースまたはプロジェクトルートに関連する、含めるファイルのグロブ。2つの特別な場合があります-

  • ディレクトリへのパスが指定されると、「。spec。@(ts | tsx)」で終わるすべてのスペックファイルが含まれます。

  • ファイルへのパスが指定されていて、一致するスペックファイルが存在する場合は、代わりにそのパスが含まれます。

7 --karmaConfig = karmaConfig Karma構成ファイルの名前。
8 --main = main メインのエントリポイントファイルの名前。
9 -世論調査 ファイル監視ポーリング期間を有効にして、ミリ秒単位で定義します。
10 --polyfills = polyfills ポリフィルファイルの名前。
11 --preserveSymlinks = true | false

モジュールを解決するときは、実際のパスを使用しないでください。

デフォルト:false

12 --prod = true | false 「--configuration = production」の省略形。trueの場合、ビルド構成を本番ターゲットに設定します。デフォルトでは、本番ターゲットはワークスペース構成で設定されているため、すべてのビルドでバンドル、制限されたツリーシェイク、および制限されたデッドコードの除去が利用されます。
13 --progress = true | false ビルド中に進行状況をコンソールに記録します。
13 --progress = true | false ビルド中に進行状況をコンソールに記録します。
14 -記者 使用するカルマレポーター。カルマランナーに直接渡されます。
15 --sourceMap = true | false

ソースマップを出力します。

デフォルト:true

16 --tsConfig = tsConfig TypeScript構成ファイルの名前。
17 --watch = true | false ファイルが変更されたらビルドを実行します。
18 --webWorkerTsConfig = webWorkerTsConfig WebWorkerモジュールのTypeScript構成。

使用して更新された角度のプロジェクトへの最初の移動ngのビルドコマンドを。

次に、テストコマンドを実行します。

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

失敗を修正するには、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();
   });
});

次に、テストコマンドを実行します。

\>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はまた、ブラウザを開き、テストステータスを表示します。