我正在使用Jasmine创建我的单元测试,我对所涉及的分支有疑问。
有谁知道为什么代码部分显示分支未被覆盖,我们可以在下面看到?
这是单元测试:
System.Windows.Forms.RichTextBox
答案 0 :(得分:6)
从我将项目升级到角度4的那一刻起,我就遇到了同样的问题。不幸的是,它是angular-cli版本1和角度4的错误。
此错误已记录在angular-cli项目中:Test-coverage says that coverage is not 100%, but it truly is! #5871。不幸的是,此问题仍未解决。
这是该记录问题的快照,与您询问的问题相符:
答案 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)
确保您的组件中没有任何未使用的导入成员。 我面临着同样的情况,并且删除了未使用的导入,它开始为我工作。