Python 覆盖率缺少测试



我正在运行python覆盖率,但我的覆盖率不是100%。

def add(a, b):
return a + b

test_utils.py

from python_coverage import utils
import unittest

class TestAdd(unittest.TestCase):
"""
Test the add function from the mymath library
"""
def test_add_integers(self):
"""
Test that the addition of two integers returns the correct total
"""
result = utils.add(1, 2)
self.assertEqual(result, 3)
def test_add_floats(self):
"""
Test that the addition of two floats returns the correct result
"""
result = utils.add(10.5, 2)
self.assertEqual(result, 12.5)
def test_add_strings(self):
"""
Test the addition of two strings returns the two string as one
concatenated string
"""
result = utils.add('abc', 'def')
self.assertEqual(result, 'abcdef')
if __name__ == '__main__':
unittest.main()        

覆盖率报告 -m

Name                          Stmts   Miss  Cover   Missing
-----------------------------------------------------------
python_coverage/__init__.py       0      0   100%
python_coverage/utils.py          2      1    50%   2
tests/test_utils.py              12      6    50%   7-8, 11-12, 15-16
-----------------------------------------------------------
TOTAL                            14      7    50%

我从该链接复制了代码并运行了报告,这就是它 -

Name                          Stmts   Miss  Cover   Missing
-----------------------------------------------------------
python_coverage/__init__.py       0      0   100%
python_coverage/utils.py          2      1    50%   2
tests/test_utils.py              14      8    43%   14-15, 21-22, 29-33
-----------------------------------------------------------
TOTAL                            16      9    44%

您不是在测试方法的输出。此测试:

r = utils.add(2,3)
self.assertEqual(5,5)

实际上并没有测试r的值。尝试将其更改为:

r = utils.add(2, 3)
self.assertEqual(r, 5)

TestAdd.test_add_float也是如此.

最新更新