Saya baru mengenal Angular 2 (dan Angular pada umumnya ...) dan saya merasa sangat menarik. Saya menggunakan Angular CLi untuk menghasilkan dan melayani proyek. Tampaknya bekerja dengan baik - meskipun untuk proyek pembelajaran kecil saya, ini menghasilkan lebih dari yang saya butuhkan - tetapi itu sudah diduga.
Saya perhatikan bahwa ini menghasilkan spec.ts
untuk setiap elemen Sudut dalam proyek (Komponen, Layanan, Pipa, dll). Saya telah mencari-cari tetapi belum menemukan penjelasan untuk apa file-file ini.
Apakah ini membangun file yang biasanya disembunyikan saat menggunakan tsc
? Saya bertanya-tanya karena saya ingin mengubah nama nama buruk yang Component
saya buat dan menemukan bahwa nama itu juga dirujuk dalam spec.ts
file - file ini .
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 {
}
sumber
--spec=false
untuk mengecualikan pembuatan file spesifikasi. Perintah penuh untuk menghasilkan komponen baru akan:ng g component comp-name --spec=false
. Info lebih lanjut di sini: github.com/angular/angular-cli/wiki/generate-componentangular-cli.json
seperti ini:{ "defaults": { "component": { "spec": false } } }
jika Anda menghasilkan proyek sudut baru menggunakan "ng baru", Anda dapat melewati pembuatan file spec.ts. Untuk ini, Anda harus menerapkan opsi --skip-tes.
sumber
File .spec.ts adalah untuk pengujian unit untuk masing-masing komponen. Anda dapat menjalankan pelari tugas Karma melalui
ng test
. Untuk melihat cakupan kode kasus uji unit untuk komponen tertentu dijalankanng test --code-coverage
sumber
.spec.ts
file digunakan untukunit testing
aplikasi Anda.Jika Anda tidak membuatnya, gunakan saja
--spec=false
saat membuat yang baruComponent
. Seperti inisumber