Angular CLI によって生成される「spec.ts」ファイルは何のためにあるのでしょうか? 質問する

Angular CLI によって生成される「spec.ts」ファイルは何のためにあるのでしょうか? 質問する

使っています角度CLIプロジェクトを生成して提供します。うまく機能しているようですが、私の小さな学習プロジェクトでは、必要以上のものが生成されますが、それは予想通りです。

spec.tsプロジェクト内の各 Angular 要素 (コンポーネント、サービス、パイプなど) に対して生成されることに気付きました。検索してみましたが、これらのファイルの目的についての説明は見つかりませんでした。

これらは、使用時に通常は非表示になるビルド ファイルですか?作成したtsc不適切な名前を変更したかったので、その名前がこれらのファイルでも参照されていることに気付きました。Componentspec.ts


import {
  beforeEach,
  beforeEachProviders,
  describe,
  expect,
  it,
  inject,
} from '@angular/core/testing';
import { ComponentFixture, TestComponentBuilder } from '@angular/compiler/testing';
import { Component } from '@angular/core';
import { By } from '@angular/platform-browser';
import { PovLevelComponent } from './pov-level.component';

describe('Component: PovLevel', () => {
  let builder: TestComponentBuilder;

  beforeEachProviders(() => [PovLevelComponent]);
  beforeEach(inject([TestComponentBuilder], function (tcb: TestComponentBuilder) {
    builder = tcb;
  }));

  it('should inject the component', inject([PovLevelComponent],
      (component: PovLevelComponent) => {
    expect(component).toBeTruthy();
  }));

  it('should create the component', inject([], () => {
    return builder.createAsync(PovLevelComponentTestController)
      .then((fixture: ComponentFixture<any>) => {
        let query = fixture.debugElement.query(By.directive(PovLevelComponent));
        expect(query).toBeTruthy();
        expect(query.componentInstance).toBeTruthy();
      });
  }));
});

@Component({
  selector: 'test',
  template: `
    <app-pov-level></app-pov-level>
  `,
  directives: [PovLevelComponent]
})
class PovLevelComponentTestController {
}

ベストアンサー1

スペックファイルはソースファイルの単体テストです。Angularアプリケーションの慣例により、.tsファイルごとに.spec.tsファイルがあります。これらは、Karmaテストランナー(https://karma-runner.github.io/) コマンドを使用するときは注意してくださいng test

さらに読むには、これを使用できます:

https://angular.io/guide/テスト

おすすめ記事