完成测试后,我必须使用覆盖率来找出覆盖率。所以,我有一个名为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
获取所有测试函数来验证源文件中它们的覆盖范围?