gpt4 book ai didi

python - pytest 结果是什么意思?

转载 作者:行者123 更新时间:2023-12-04 16:44:37 25 4
gpt4 key购买 nike

我正在 中学习测试Python ,现在我正在使用 pytest-cov .

我尝试运行此命令:

pytest --cov=myProj tests/ --cov-report term-missing 

测试完成后,我得到了这样的报告:
       ----------- coverage: platform linux, python 3.6.7-final-0 -----------
Name Stmts Miss Cover Missing
----------------------------------------------------------------------------------------------
myProject/__init__.py 0 0 100%
myProject/alert.py 14 14 0% 1-21
myProject/api/__init__.py 1 0 100%
myProject/api/spaces/__init__.py 0 0 100%
myProject/api/spaces/admin.py 279 179 36% 154-223, 312-335, 351-398, 422-432, 505-515, 534-565, 591-697
myProject/api/spaces/global.py 89 66 26% 35-43, 47-69, 72-92, 96-124
myProject/api/spaces/inventory.py 79 79 0% 1-119
myProject/api/spaces/keyword.py 134 110 18% 33-42, 46-68, 72-93, 101-112, 116-134, 138-165, 168-190

一些让我仍然对报告感到困惑的事情,我仍然没有在 documentation 中找到它。关于:
什么是
短信 , 小姐 , 封面 , 和 失踪 , 是如果 上的结果封面 不是 100% 这意味着我的代码仍然很糟糕还是什么..?

最佳答案

Stmts指的是代码中的语句数。
Miss指尚未运行的语句数。
Cover是测试覆盖率,或 (Stmts - Miss) / 100 .
Missing包含 Miss 的行号声明。

如果覆盖率不是 100%,则意味着您的测试未覆盖您的代码的某些部分,例如:

def f(a, b):
if a > 0:
return a

elif a == 0:
return 0

else:
return b

def test_f():
assert f(10, 10)

上面的测试只会进入 a > 0分支,因此测试覆盖率为 33%。

高覆盖率并不总是好的(因为仅仅覆盖代码并不意味着所有情况都经过充分测试),但低覆盖率通常是不好的(因为这意味着您的测试甚至没有触及您的代码部分)。

关于python - pytest 结果是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55293195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com