我有一个类,有3个方法(在python中)。
class MyClass:
def A(self):
.......
def B(self):
........
def C(self):
........
我只为一种方法A编写了单元测试用例。这个单元测试涵盖了方法A的每一行。即我们没有if ... else或任何分支结构。
代码覆盖百分比是多少?
再次,如果我为该类的第二个方法编写另一个单元测试用例,涵盖所有行。现在的代码覆盖百分比是多少?
答案 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