私はAngular 2(Angular一般的に...)を初めて使っていて、とても魅力的だと感じています。私はAngular CLiを使ってプロジェクトを生成し、提供しています。それはうまくいくようですが、私の小さな学習プロジェクトでは、私が必要以上に多くのことを生み出していますが、それは期待されています。Angular CLiで生成される "spec.ts"ファイルは何ですか?
私は、プロジェクト(コンポーネント、サービス、パイプなど)の角要素ごとに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 {
}
おかげで、私はこれを自分で思っていました。私がテストを実行したくないとしたら、安全に.specファイルを削除できますか? (また、テストフォルダとe2eフォルダのようなファイルもありますか?) – Kokodoko
私はこの質問に少し答える必要があると感じています。私たちはこれらのファイルを完全に無視して、私たちの仕事に進むことができますか? –
awisemanが述べているように、specファイルは実際にあなたのアプリケーションをテストするためのものです。 テストファイルを使用しない場合は、単純に削除または無視することができます。 プロジェクトはスペックファイルなしで引き続き機能します。 – dennismuys