如何避免无用的else语句来增加单元测试用例的分支覆盖率?

Mit*_*tsa 1 javascript unit-testing sonarqube karma-jasmine gulp

考虑以下代码:

    function test(val){
        flag = val;        

        if (!flag) {
            doThis();
        }     
        createSomething();
   }
Run Code Online (Sandbox Code Playgroud)

因此,考虑到单元测试的覆盖范围,即使函数语句被覆盖,分支也将不被覆盖,否则块不存在。因此覆盖的分支将占50%,并且由于声纳问题,我们将无法合并该分支以进行开发。因此,为了摆脱这种无用的代码,我们像return false;在else块中一样编写并使脚本增长。

这是编写代码的有效方法吗?有没有一种方法可以避免仅编写覆盖范围为100%的不必要的代码。这是一个坏习惯,需要建议摆脱它。我们是否有任何设置,以便我们可以更新忽略else块语句并增加覆盖范围(如果未定义)。

声纳力编写else块:

在此处输入图片说明

我有100%的代码覆盖率,但是分支覆盖率是50%,仅仅是因为忽略了else块。如果不超过80%,则定义了声纳规则,我们无法合并代码:(

Jua*_*des 5

您不需要额外的代码,只需确保调用即可test(true)test(false)并且测试应显示该功能的100%分支覆盖率