2017-01-20 2 views
4

Ich bin neu in Unital Testing in Angular2. Ich habe die karma Setup mit Codeabdeckung zusammen mit angular-cli. Ich habe den Befehl ng-test ausgeführt und den Code-Coverage-Bericht geöffnet. Ich sah 1x, 3x usw. zusammen mit meinen Codezeilennummern in diesem Coverage-Bericht. Bitte finden Sie das Bild meines Deckungsberichts.Was bedeutet 1x 3x usw. im Karma Code Coverage Report im Angular2 Unit Test?

enter image description here

Hier ist mein Testfall Code 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!'); 
    })); 
}); 

Ich verstehe nicht, was ist die Bedeutung dieser 1x,2x,3x usw. in meinem Code Bericht. Bitte helfen Sie mir, die Wichtigkeit davon zu wissen.

Antwort

7

Es gibt an, wie oft die Zeile ausgeführt wurde.

nach Ihrem Code kann an Ihrem title Feld einen Blick:

Es wird zuerst ausgeführt: expect(app).toBeTruthy();

Zweitens: expect(app.title).toEqual('app works!');

Drittens: expect(compiled.querySelector('h1').textContent).toContain('app works!');

das ist also, warum es sagt 3x links davon.

+0

Danke für die Antwort @echonax. Wenn es noch weitere Informationen gibt, die Sie vergessen haben, teilen Sie mir das bitte mit oder Sie können es in Ihrer Antwort erläutern. Nochmals vielen Dank. Akzeptieren Sie Ihre Antwort. –

+0

@IsettyRavitejakumar Ich habe meine Antwort aktualisiert, da Sie Ihre Frage aktualisiert haben. Aber es gibt keine signifikante Bedeutung davon. Vielleicht, wenn eine Zeile sehr oft ausgeführt wird, sollten Sie vielleicht überprüfen, ob diese Zeile unnötigerweise verwendet wird, aber ich bezweifle sehr, dass dies der Fall ist. – echonax

Verwandte Themen