Javascript 在角单元测试的karma代码覆盖率报告中,1x 3x等表示什么?

Javascript 在角单元测试的karma代码覆盖率报告中,1x 3x等表示什么?,javascript,unit-testing,angular,istanbul,karma-coverage,Javascript,Unit Testing,Angular,Istanbul,Karma Coverage,我不熟悉角度方面的单元测试。我得到了karma设置,包括angular cli。我已经运行了命令ng测试并打开了代码覆盖率报告。我在那份报道中看到了1x,3x等以及我的代码行号。请找到我的报道图片 这是我的测试用例代码app.component.spec.ts /* tslint:disable:no-unused-variable */ import { TestBed, async } from '@angular/core/testing'; import { AppComponent

我不熟悉角度方面的单元测试。我得到了
karma
设置,包括
angular cli
。我已经运行了命令ng测试并打开了代码覆盖率报告。我在那份报道中看到了
1x
3x
等以及我的代码行号。请找到我的报道图片

这是我的测试用例代码
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等的重要性是什么。请帮助我了解它的重要性。

它表示该行已执行的次数

根据您的代码,让我们看一下您的
标题
字段:

它首先被执行:
expect(app.toBeTruthy()

第二个:
expect(app.title).toEqual('app.works!')

第三:
expect(compiled.querySelector('h1').textcontain('appworks!'))


这就是为什么它的左边写着3x。

谢谢你的回答@echonax。如果您忘记告诉我更多信息,请与我分享,或者您可以在回答中详细说明。再次非常感谢你。接受你的答案。@IsettyRavitejakumar我已经更新了我的答案,正如你更新了你的问题一样。但这并不重要。也许如果一行被执行了很多次,你可能想检查一下这行是否被不必要地使用了,但我非常怀疑这是不是真的。