Quels sont les “spec.ts” les fichiers générés par Angulaire de la CLi pour?
Je suis nouveau sur Angulaire 2 (et Angulaire en général...) et que je trouve très attachant. Je suis à l'aide de Angulaire De La CLi de générer et de servir les projets. Il semble que cela fonctionne bien mais pour mes petits projets d'apprentissage, il produit plus que je besoin d' – mais c'est à prévoir.
J'ai remarqué qu'il génère spec.ts
pour chaque Angulaire de l'élément dans un projet (Composante, Service, Pipe, etc). J'ai cherché mais n'ai pas trouvé une explication de ce que sont ces fichiers pour.
Sont ces fichiers qui sont normalement cachés lors de l'utilisation de tsc
? Je me demandais parce que je voulais changer le nom d'un mal nommée Component
j'avais créé et a découvert que le nom a également été citées dans ces spec.ts
fichiers.
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 {
}
Vous devez vous connecter pour publier un commentaire.
Les spec sont les fichiers de tests unitaires pour vos fichiers source. La convention Angulaire des applications est d'avoir un .spec.fichier ts de chacun .fichier ts. Elles sont exécutées à l'aide du Jasmin javascript framework de test à travers le Karma test runner (https://karma-runner.github.io/) lorsque vous utilisez le
ng test
commande.Vous pouvez utiliser cela pour quelques lectures complémentaires:
https://angular.io/guide/testing
--spec=false
à exclure la génération d'un fichier spec. L'intégralité de la commande pour générer un nouveau composant serait:ng g component comp-name --spec=false
. Plus d'infos ici: github.com/angular/angular-cli/wiki/generate-componentangular-cli.json
comme ceci:{ "defaults": { "component": { "spec": false } } }
si vous générez de nouveaux angulaire du projet à l'aide de "ng nouveau", vous pouvez sauter une génération de spec.les fichiers ts. Pour cela, vous devez appliquer l'option --skip-option tests.
L' .spec.les fichiers ts sont pour les tests unitaires pour chacun des composants.
Vous pouvez exécuter le Karma tâche coureur par le biais de
ng test
. Pour voir la couverture de code de l'unité des cas de test pour les composants particuliers exécuterng test --code-coverage