2017-01-20 17 views
4

Я новичок в тестировании устройств в Angular2. Я получил установку karma с покрытием кода и angular-cli. Я запустил команду ng-test и открыл отчет по охвату кода. Я видел 1x, 3x и т. Д. Вместе с номерами кодовых строк в этом отчете о покрытии. Пожалуйста, найдите изображение моего отчета о покрытии.Что означает 1x 3x и т. Д. В отчете о покрытии кода кармы в Angular2 Unit testing?

enter image description here

Вот мой тестовый код случай 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!'); 
    })); 
}); 

Я не понял, что важность этого 1x,2x,3x и т.д. в моем докладе кода. Пожалуйста, помогите мне в понимании важности этого.

ответ

7

Он представляет собой количество раз, которое эта линия была выполнена.

Согласно коду позволяет взглянуть на вашем title поля:

Это первое запускается на выполнение: expect(app).toBeTruthy();

Второе: expect(app.title).toEqual('app works!');

Третье: expect(compiled.querySelector('h1').textContent).toContain('app works!');

Так вот почему он говорит 3x слева от него.

+0

Спасибо за ответ @echonax. Если есть дополнительная информация, которую вы забыли рассказать, пожалуйста, поделитесь мной, или вы можете уточнить ее в своем ответе. Еще раз спасибо. Принимая ваш ответ. –

+0

@IsettyRavitejakumar Я обновил свой ответ, поскольку вы обновили свой вопрос. Но это не имеет большого значения. Возможно, если строка выполняется огромное количество раз, вы можете проверить, используется ли эта строка без необходимости, но я очень сомневаюсь, что это будет случай. – echonax