Я новачок у 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 {
}