Coverage.py - 源代码文件未被测试文件中的所有测试覆盖

时间:2018-03-09 13:10:12

标签: python python-3.x unit-testing code-coverage

完成测试后,我必须使用覆盖率来找出覆盖率。所以,我有一个名为connectors.py的文件(源代码)和名为test_connectors.py的测试文件,其中我有很多测试(21 - 下面你只能看到其中的2个,但这并不是#39;重要:

测试文件



class FileCompare():...



class TestParser(unittest.TestCase):

    def test_TRS_ABU_INOUT_001(self):
        current_path = os.path.realpath(__file__)
        head, tail = ntpath.split(current_path)
        os.system('connectors.py -in ' + head + '\\tests\TRS.ABU.INOUT.001\input -out ' + head + '\\tests\TRS.ABU.INOUT.001\output')
        self.assertTrue(FileCompare.checkParsing(head + '\\tests\TRS.ABU.INOUT.001\input', head + '\\tests\TRS.ABU.INOUT.001\output\\result.log', 'is'))

    def test_TRS_ABU_FUNC_0001(self):
        current_path = os.path.realpath(__file__)
        head, tail = ntpath.split(current_path)
        os.system('connectors.py -in ' + head + '\\tests\TRS.ABU.FUNC.0001\input -out ' + head + '\\tests\TRS.ABU.FUNC.0001\output')
        self.assertTrue(FileCompare.isOutput(head + '\\tests\TRS.ABU.FUNC.0001\output'))




我的问题是:在运行connectors.py文件的覆盖范围后,在生成的html报告文件中,它向我显示仅由test_connectors.py的最后一个函数覆盖的代码(在我的示例中,最后一个)函数是test_TRS_ABU_FUNC_0001,它没有通过整个源代码)

在我的源代码中,我已将Coverage导入为模块from coverage import Coverage,并在代码的末尾使用了



if name == "main": 
cov = Coverage() 
cov.start() 
main() 
cov.stop() 
cov.html_report(directory="coverage-html")




好吧,在我的test_connectors.py中,我使用这样的覆盖:coverage run --source=dir my_program.py

我可以为coverage.py做些什么来从test_connectors.py获取所有测试函数来验证源文件中它们的覆盖范围?

0 个答案:

没有答案