Visual Studio中的部分行代码覆盖率

时间:2018-06-07 12:22:57

标签: c# code-coverage

我遇到了.NET工具中的代码覆盖率测量问题(CodeCoverage.exe) 以下是我的代码:

public static void test1(int a)
{
    if (a > 0 && a < 3)
    {
        Console.Write("Hello world");
    }
    else
    {

    }
}

我尝试使用

等测试用例

案例1:

test1(1); true - true
test1(-4); false - true 

结果是上面的代码完全覆盖。但是有了测试用例:

案例2:

test1(1); true - true
test1(5); true - false

结果是上面的代码是部分覆盖。
你是否解释了案例1和案例2之间的区别?我认为这两个案例都是封面分支If-Else
谢谢

2 个答案:

答案 0 :(得分:2)

案例1 - 仅评估第一个条件,不必评估第二个条件。 案例2 - 当第一个条件成立时,必须评估第二个条件。

答案 1 :(得分:0)

我明白了。但我想知道为什么案例2的结果是部分覆盖而没有完全覆盖。我关注微软,但它似乎不正确docs.microsoft.com/en-us/previous-versions/visualstudio / ... -