Estoy creando mis pruebas unitarias con Jasmine y tengo una pregunta sobre la rama cubierta.
¿Alguien sabe por qué la parte del código muestra que las ramas no están cubiertas como podemos ver a continuación?
Esta es la prueba unitaria:
describe('MyComponent', () => { let component: MyComponent; let fixture: ComponentFixture<MyComponent>; let myService: MyService; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ MyComponent ], imports: [ MaterializeModule, FormsModule, ReactiveFormsModule, HttpModule ], providers: [ MyService, FormBuilder ] }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(MyComponent); component = fixture.componentInstance; slotsService = TestBed.get(MyService); fixture.detectChanges(); }); function updateForm(name, surname) { component.myForm.controls['name'].setValue(name); component.myForm.controls['surname'].setValue(name); } it('should create', () => { expect(component).toBeTruthy(); }); }
He tenido el mismo problema durante meses desde el momento en que actualicé mis proyectos a angular 4. Desafortunadamente, es un error con angular-cli versión 1 y angular 4.
Este error ya está registrado en el proyecto angular-cli : la cobertura de prueba dice que la cobertura no es del 100%, ¡pero realmente lo es! #5871 . Desafortunadamente, por el momento, este problema sigue abierto.
Esta es una instantánea de ese problema registrado, que coincide con el que está preguntando:
Si enfrenta este problema y, sin embargo, desea alcanzar una cobertura de sucursal del 100 %, hay al menos una solución disponible (consulte https://github.com/angular/angular-cli/issues/5526#issuecomment-324429322 ).
Simplemente agregue /* istanbul ignore next */
después de la exportación de clase (sin saltos de línea):
export class InternalComponent { constructor(private authService: any) { } } /* istanbul ignore next */
Para proyectos de Angular 2+, esto ahora está solucionado si actualiza a Angular CLI 1.5.
Publicación de GitHub: https://github.com/angular/angular-cli/issues/5526