ejemplos curso cli angular typescript

curso - ¿Para qué son los archivos "spec.ts" generados por Angular CLi?



angular wikipedia (3)

Soy nuevo en Angular 2 (y Angular en general ...) y lo encuentro muy atractivo. Estoy usando Angular CLi para generar y servir proyectos. Parece funcionar bien, aunque para mis pequeños proyectos de aprendizaje, produce más de lo que necesito, pero eso es de esperar.

Me di cuenta de que genera spec.ts para cada elemento angular en un proyecto (componente, servicio, tubería, etc.). He buscado alrededor pero no he encontrado una explicación de para qué sirven estos archivos.

¿Son estos archivos de compilación que normalmente están ocultos cuando se usa tsc ? Me preguntaba porque quería cambiar el nombre de un Component mal nombrado que había creado y descubrí que el nombre también estaba referenciado en estos archivos 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 { }


Los archivos .spec.ts son para pruebas unitarias de componentes individuales. Puede ejecutar el corredor de tareas Karma a través de ng test . Para ver la cobertura del código de los casos de prueba de unidad para componentes particulares, ejecute ng test --code-coverage


Los archivos de especificaciones son pruebas unitarias para sus archivos fuente. La convención para aplicaciones angulares es tener un archivo .spec.ts para cada archivo .ts. Se ejecutan utilizando el marco de prueba jazmín de Jasmine a través del corredor de prueba Karma ( https://karma-runner.github.io/ ) cuando usa el comando ng test .

Puede usar esto para leer más:

https://angular.io/guide/testing


si genera un nuevo proyecto angular usando "ng new", puede omitir la generación de archivos spec.ts. Para esto, debe aplicar la opción --skip-tests.

ng new ng-app-name --skip-tests