当我点击运行带有代码覆盖率的单元测试时,它有一列显示覆盖的块的百分比。
我也使用TeamCity进行衡量,我注意到他们有不同的指标。我想知道Visual Studio如何衡量。我做了一些计算,但我没有想到它。
答案 0 :(得分:2)
根据Using Code Coverage to Determine How Much Code is being Tested
代码覆盖率以块计算。块是一段代码,只有一个入口和出口点。如果程序的控制流在测试运行期间通过块,则该块计为覆盖。使用块的次数对结果没有影响。
注意: 代码块在到达决策点时结束,例如新的条件语句块,函数调用,异常抛出,enter,leave,try,catch或finally构造。
所以基本上%是使用的代码块数除以代码块返回的总块数。
您可以在此处阅读有关块定义的信息: https://en.wikipedia.org/wiki/Basic_block
我希望能为您提供您想要的信息。