2017-01-20 1 views
4

Je suis nouveau à Unit Testing dans Angular2. J'ai eu l'installation karma avec la couverture de code avec angular-cli. J'ai exécuté la commande ng-test et le rapport de couverture de code ouvert. J'ai vu 1x, 3x etc avec mes numéros de ligne de code dans ce rapport de couverture. Veuillez trouver l'image de mon rapport de couverture.Que signifie 1x 3x etc dans le rapport de couverture du code karma dans les tests unitaires Angular2?

enter image description here

Voici mon code de cas de test app.component.spec.ts

/* tslint:disable:no-unused-variable */ 

import { TestBed, async } from '@angular/core/testing'; 
import { AppComponent } from './app.component'; 

describe('AppComponent',() => { 
    beforeEach(() => { 
    TestBed.configureTestingModule({ 
     declarations: [ 
     AppComponent 
     ], 
    }); 
    }); 

    it('should create the app', async(() => { 
    let fixture = TestBed.createComponent(AppComponent); 
    let app = fixture.debugElement.componentInstance; 
    expect(app).toBeTruthy(); 
    })); 

    it(`should have as title 'app works!'`, async(() => { 
    let fixture = TestBed.createComponent(AppComponent); 
    let app = fixture.debugElement.componentInstance; 
    expect(app.title).toEqual('app works!'); 
    })); 

    it('should render title in a h1 tag', async(() => { 
    let fixture = TestBed.createComponent(AppComponent); 
    fixture.detectChanges(); 
    let compiled = fixture.debugElement.nativeElement; 
    expect(compiled.querySelector('h1').textContent).toContain('app works!'); 
    })); 
}); 

Je ne comprenais pas ce qui est l'importance de cette 1x,2x,3x etc dans mon rapport de code. S'il vous plaît aidez-moi à connaître l'importance de cela.

Répondre

7

Il représente la quantité de fois que cette ligne a été exécutée.

Selon votre code permet de jeter un oeil à votre champ title:

Il obtient d'abord exécuté: expect(app).toBeTruthy();

Deuxième: expect(app.title).toEqual('app works!');

Troisième: expect(compiled.querySelector('h1').textContent).toContain('app works!');

Voilà pourquoi il est dit 3x à gauche de celui-ci.

+0

Merci pour la réponse @echonax. S'il y a plus d'informations que vous avez oublié de dire, s'il vous plaît partagez-moi ou vous pouvez l'élaborer dans votre réponse. Merci beaucoup encore une fois. Accepter votre réponse. –

+0

@IsettyRavitejakumar J'ai mis à jour ma réponse lorsque vous avez mis à jour votre question. Mais il n'y a pas d'importance significative de celui-ci. Peut-être que si une ligne est exécutée énormément de fois vous pourriez vouloir vérifier si cette ligne est utilisée inutilement mais je doute fortement que ce soit un cas. – echonax