单元测试中的代码覆盖百分比

时间:2017-04-13 15:13:17

标签: python asp.net .net unit-testing

我有一个类,有3个方法(在python中)。

class MyClass:
    def A(self):
          .......
    def B(self):
         ........
    def C(self):
         ........

我只为一种方法A编写了单元测试用例。这个单元测试涵盖了方法A的每一行。即我们没有if ... else或任何分支结构。

代码覆盖百分比是多少?

再次,如果我为该类的第二个方法编写另一个单元测试用例,涵盖所有行。现在的代码覆盖百分比是多少?

1 个答案:

答案 0 :(得分:1)

我自己得到了答案: - )

代码覆盖率完全取决于您运行覆盖范围的模块或文件。让我们说如果我们按照我提出问题的方式运行一个文件的覆盖范围。每种方法中的每一行都将计入代码覆盖率。

现在根据我的问题,我只覆盖一个包含20行的方法。其他2种方法有另外80行(3种方法共100行)。所以,如果我为我的文件运行报道。我的代码覆盖率只有20%。

在python中我们可以运行(在pycharm终端中):coverage run -m py.test my_file.py 要获取报告,请运行以下命令:coverage report -m py.test my_file.py

要运行整个模块(在所有包中),请使用:coverage run -m py.test和coverage report -m py.test