为什么代码覆盖率不是100%? pytest冠状病毒

时间:2018-02-07 11:57:42

标签: python code-coverage pytest-cov

为什么我没有获得100%的代码覆盖率?!

所有方法都经过测试......

如何计算代码覆盖百分比?

CODE

import os

def get_root_dir():
    return os.path.abspath(os.path.join(os.path.sep, os.path.dirname(os.path.realpath(__file__)), '../../'))


def get_coverage_report_dir():
    return os.path.join(os.path.sep, get_root_dir(), 'coverage_report')

TEST

import unittest

class TestPaths(unittest.TestCase):

def test_paths(self):

    import src.utils.paths as paths
    self.assertTrue(paths.get_root_dir().endswith('myproject'))
    self.assertTrue(paths.get_root_dir() in paths.get_coverage_report_dir() and paths.get_coverage_report_dir().endswith('coverage_report'))

REPORT

---------- coverage: platform win32, python 2.7.14-final-0 -----------
Name                               Stmts   Miss  Cover
------------------------------------------------------
src\utils\__init__.py                  0      0   100%
src\utils\example_util_module.py       2      0   100%
src\utils\paths.py                     5      3    40%
------------------------------------------------------
TOTAL                                  7      3    57%

1 个答案:

答案 0 :(得分:1)

html输出将向您显示缺少的行

pytest --cov=paths --cov-report=html

然后从新创建的htmlcov文件夹中打开index.html。

这是一个演示100%测试覆盖率的视频。

https://youtu.be/7BJ_BKeeJyM

100% Code Coverage in Python