A quoi servent les fichiers “spec.ts” générés par Angular CLi?

Je suis nouveau sur Angular 2 (et Angular en général …) et je le trouve très intéressant. J’utilise Angular CLi pour générer et servir des projets. Cela semble bien fonctionner – même si pour mes petits projets d’apprentissage, cela produit plus que ce dont j’ai besoin – mais il faut s’y attendre.

J’ai remarqué qu’il génère des spec.ts pour chaque élément angular d’un projet (composant, service, tuyau, etc.). J’ai cherché autour de moi mais je n’ai pas trouvé d’explication sur la nature de ces fichiers.

Ces fichiers de génération sont-ils normalement cachés lors de l’utilisation de tsc ? Je me demandais parce que je voulais changer le nom d’un Component mal nommé que j’avais créé et découvert que le nom était également référencé dans ces fichiers spec.ts


 import { beforeEach, beforeEachProviders, describe, expect, it, inject, } from '@angular/core/testing'; import { ComponentFixture, TestComponentBuilder } from '@angular/comstackr/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) => { let query = fixture.debugElement.query(By.directive(PovLevelComponent)); expect(query).toBeTruthy(); expect(query.componentInstance).toBeTruthy(); }); })); }); @Component({ selector: 'test', template: `  `, directives: [PovLevelComponent] }) class PovLevelComponentTestController { } 

Les fichiers de spécifications sont des tests unitaires pour vos fichiers source. La convention pour les applications angulars consiste à avoir un fichier .spec.ts pour chaque fichier .ts. Ils sont exécutés à l’aide de l’infrastructure de test jasmine Jasmine via le programme d’exécution Karma lorsque vous utilisez la commande ng test .

Vous pouvez l’utiliser pour d’autres lectures:

https://angular.io/docs/ts/latest/guide/testing.html

Si vous générez un nouveau projet angular en utilisant “ng new”, vous pouvez ignorer une génération de fichiers spec.ts. Pour cela, vous devez appliquer l’option –skip-tests.

ng nouveau nom-app -gd –skip-tests

Les fichiers .spec.ts sont destinés aux tests unitaires pour les composants individuels. Vous pouvez exécuter le gestionnaire de tâches Karma via ng test . Pour voir la couverture de code des cas de test unitaires pour des composants particuliers, exécutez ng test --code-coverage