Pytest cov不生成任何rep

2024-06-26 01:52:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图为我的程序运行py.test cov,但我仍然有一个信息:testFile.txt sCoverage.py warning: No data was collected. 即使在代码中仍然是未测试的函数(在我的示例函数diff中)。下面是我测试命令py.test --cov=testcov.py的代码示例。我在用python 2.7.9

def suma(x,y):
    z = x + y
    return z

def diff(x,y):
    return x-y

if __name__ == "__main__":
    a = suma(2,3)
    b = diff(7,5)
    print a
    print b

## ------------------------TESTS-----------------------------   
import pytest

def testSuma():
    assert suma(2,3) == 5

有人能解释我,我做错什么了吗?


Tags: 函数代码pytesttxt程序运行信息示例
3条回答

你还没说你所有的档案都叫什么名字,所以我不确定确切的答案。但是--cov的参数应该是模块名,而不是文件名。因此,您需要的不是py.test --cov=testcov.py,而是py.test --cov=testcov

test查找以test_开头的函数。您应该相应地重命名测试函数。要应用覆盖率,请执行py.test --cov。如果您想要一个漂亮的HTML报告,它还可以显示哪些行没有被覆盖,那么您可以使用py.test --cov --cov-report html

默认情况下,py.test查找与test_*.py匹配的文件。您可以使用pytest.ini自定义它

顺便说一下,根据python风格指南PEP 8它应该是test_suma-但是它对py.test没有影响。

相关问题 更多 >