Eu sou novo no Angular 2 (e Angular em geral ...) e estou achando muito interessante. Estou usando o Angular CLi para gerar e atender projetos. Parece funcionar bem - embora para meus pequenos projetos de aprendizado produza mais do que eu preciso -, mas isso é de se esperar.
Percebi que ele gera spec.ts
para cada elemento Angular em um projeto (Componente, Serviço, Pipe, etc). Eu procurei, mas não encontrei uma explicação para o que esses arquivos servem.
Esses arquivos de compilação estão normalmente ocultos ao usar tsc
? Eu me perguntava porque queria mudar o nome de um nome mal Component
criado que eu havia criado e descobri que o nome também era mencionado nesses spec.ts
arquivos.
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 {
}
fonte
--spec=false
para excluir a geração de um arquivo de especificação. O comando completo para gerar um novo componente seria:ng g component comp-name --spec=false
. Mais informações aqui: github.com/angular/angular-cli/wiki/generate-componentangular-cli.json
assim:{ "defaults": { "component": { "spec": false } } }
se você gerar um novo projeto angular usando "ng new", poderá pular a geração de arquivos spec.ts. Para isso, você deve aplicar a opção --skip-tests.
fonte
Os arquivos .spec.ts são para testes de unidade de componentes individuais. Você pode executar o corredor de tarefas do Karma
ng test
. Para ver a cobertura de código de casos de teste de unidade para componentes específicos, executeng test --code-coverage
fonte
.spec.ts
O arquivo é usado para ounit testing
seu aplicativo.Se você não conseguir gerá-lo, use
--spec=false
enquanto cria um novoComponent
. Como issofonte