构造函数上的分支未涵盖

时间:2017-04-04 19:18:46

标签: unit-testing angular jasmine karma-jasmine karma-coverage

我正在使用Jasmine创建我的单元测试,我对所涉及的分支有疑问。

有谁知道为什么代码部分显示分支未被覆盖,我们可以在下面看到?

enter image description here

这是单元测试:

System.Windows.Forms.RichTextBox

4 个答案:

答案 0 :(得分:6)

从我将项目升级到角度4的那一刻起,我就遇到了同样的问题。不幸的是,它是angular-cli版本1和角度4的错误。

此错误已记录在angular-cli项目中:Test-coverage says that coverage is not 100%, but it truly is! #5871。不幸的是,此问题仍未解决。

这是该记录问题的快照,与您询问的问题相符:

enter image description here

答案 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 */

答案 2 :(得分:0)

对于Angular 2+项目,如果升级到Angular CLI 1.5,现在已修复此问题。

GitHub帖子: https://github.com/angular/angular-cli/issues/5526

答案 3 :(得分:0)

确保您的组件中没有任何未使用的导入成员。 我面临着同样的情况,并且删除了未使用的导入,它开始为我工作。