python - 如何在Python中获得100%的代码覆盖率?

标签 python tdd code-coverage coverage.py python-coverage

学习.py

def multiply(a, b):
    return a * b

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

test_learning.py

import unittest

from learning import *

class Test(unittest.TestCase):
    def test_multiply(self):
        self.assertEqual( multiply(3,4), 12)

    def test_addition(self):
        self.assertEqual( addition(5,10), 15)       

if __name__ == '__main__':
    unittest.main()

50% 代码覆盖率

虽然两种方法都经过测试,但是代码覆盖率都是50%

C:\>coverage run learning.py test_learning.py

C:\>coverage report

Name       Stmts   Miss  Cover
------------------------------
learning       4      2    50%

最佳答案

您想要的覆盖命令是:

coverage run test_learning.py

您正在做的是使用参数 test_learning.py 运行 learning.py,它只执行 2 个 def 语句,并且从不执​​行运行测试(或执行 2 个定义函数的内容)。

关于python - 如何在Python中获得100%的代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24517943/

相关文章:

python - 关闭来自另一个线程的 "Python Requests"连接

java - 如何验证没有使用 Mockito 调用特定方法?

.net - 用于构建服务器和测试环境的最佳虚拟机产品

java - Coverage 插件是否需要预先运行单元测试

python - gtk.ScrolledWindow 具有 gtk.TextView 显示固定的第一行

python - 如何在给定条件下生成所有可能的组合以使其更有效?

python - Scipy 安装失败,错误代码 1

php - 追溯 phpUnit 测试 : is it worth it?

html - 通过Chrome DevTools挑出CSS代码后,找出网页中使用的CSS代码?

swift - 如何使用 UI 单元测试获取嵌入式框架的 Xcode 8 代码覆盖率