给定代码的代码覆盖率

时间:2017-05-04 01:21:26

标签: java c# c++ code-coverage

为什么会这样, 如果仅对功能B进行单元测试,则功能A的覆盖率为50%。 即使我们将函数B的值取为(1,2,3) 它会覆盖第一个函数的if和else,但是为什么覆盖率仍然是50%?

Public int A(int a,int b)
{
if (a%2==0) 
      return a;
else 
    return b;
}


Public int B (int a,int b,int c)
{
 int val=A(a,b);    
 val=A(val,c);
    }

1 个答案:

答案 0 :(得分:0)

你一定做错了。它向我显示100%的覆盖率。这是测试(目的不是要表明这是否是一个好的测试,而是回答你的问题):

[TestMethod]
public void SomeTest()
{
    ClassLibrary1.Class1 csl = new ClassLibrary1.Class1();
    csl.B(1, 2, 3);

    Assert.IsTrue(true);
}

以下是该测试的覆盖结果:

enter image description here enter image description here