2017-04-04 136 views
6

我正在用Jasmine創建我的單元測試,並且對覆蓋的分支有疑問。構造函數未覆蓋的分支

有誰知道爲什麼代碼部分顯示分支沒有被覆蓋,因爲我們可以看到下面?

enter image description here

這是單元測試:

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(); 
    }); 
} 
+1

顯示單元測試 –

回答

1

如果你正面臨這個問題,不過,要達到100%分支覆蓋,有至少是可用的解決方法(請參閱https://github.com/angular/angular-cli/issues/5526#issuecomment-324429322)。

類出口(無任何換行符)後,只需添加/* istanbul ignore next */

export class InternalComponent { 
    constructor(private authService: any) { 
    } 
} /* istanbul ignore next */ 
0

對於角度2+項目,如果升級到角CLI 1.5這是現在固定的。

GitHub上一篇: https://github.com/angular/angular-cli/issues/5526

+0

給出的鏈接可能會解決這個問題。但是,如果鏈接被撤銷,你的答案變得毫無用處。所以請添加說明。 – Billa