Programing

Angular CLi가 생성 한 "spec.ts"파일은 무엇입니까?

lottogame 2020. 5. 29. 07:51
반응형

Angular CLi가 생성 한 "spec.ts"파일은 무엇입니까?


나는 Angular 2 (그리고 Angular는 일반적으로 ...)를 처음 사용하고 매우 매력적입니다. Angular CLi사용하여 프로젝트를 생성하고 제공하고 있습니다. 비록 작은 학습 프로젝트에서는 필요 이상으로 많은 것을 생산하지만 잘 작동하는 것 같습니다. 그러나 그것은 예상됩니다.

spec.ts프로젝트의 각 각도 요소 (구성 요소, 서비스, 파이프 등)에 대해 생성되는 것으로 나타났습니다 . 주변을 검색했지만 해당 파일의 내용에 대한 설명을 찾지 못했습니다.

이 빌드 파일은 일반적으로 사용할 때 숨겨져 tsc있습니까? 이름이 잘못 지정된 이름을 변경하고 싶었 기 때문에이 파일 Component에서 이름이 참조되었음을 알았습니다 spec.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 {
}

스펙 파일은 소스 파일에 대한 단위 테스트입니다. Angular 응용 프로그램의 규칙은 각 .ts 파일에 대해 .spec.ts 파일을 갖는 것입니다. 명령 을 사용할 때 Karma 테스트 러너 ( https://karma-runner.github.io/ )를 통해 Jasmine 자바 스크립트 테스트 프레임 워크를 사용하여 ng test실행됩니다.

좀 더 읽을 때 이것을 사용할 수 있습니다.

https://angular.io/guide/testing


"ng new"를 사용하여 새 각도 프로젝트를 생성하는 경우 spec.ts 파일 생성을 건너 뛸 수 있습니다. 이를 위해 --skip-tests 옵션을 적용해야합니다.

새로운 ng-app-name --skip-tests


.spec.ts 파일은 개별 구성 요소에 대한 단위 테스트 용입니다. 를 통해 Karma 작업 러너를 실행할 수 있습니다 ng test. 특정 구성 요소에 대한 단위 테스트 사례의 코드 적용 범위를 보려면ng test --code-coverage

참고URL : https://stackoverflow.com/questions/37502809/what-are-the-spec-ts-files-generated-by-angular-cli-for

반응형