Python代码覆盖率工具coverage.py其实是一个第三方的包,同时支持Python2和Python3版本。
安装也非常简单,直接运行:
pip install coverage
首先我们编写一个简易计算器的程序:
#mymath.py
defadd(a, b):return a +bdefsubtract(a, b):return a -bdefmultiply(a, b):return a *bdefdivide(numerator, denominator):return float(numerator) / denominator
接着来编写基于unittest的单元测试用例:
#test_mymath.py
importmymathimportunittestclassTestAdd(unittest.TestCase):"""Test the add function from the mymath library"""
deftest_add_integers(self):"""Test that the addition of two integers returns the correct total"""result= mymath.add(1, 2)
self.assertEqual(result,3)deftest_add_floats(self):"""Test that the addition of two floats returns the correct result"""result= mymath.add(10.5, 2)
self.assertEqual(result,12.5)deftest_add_strings(se