我试图为我的程序运行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
有人能解释我,我做错什么了吗?
你还没说你所有的档案都叫什么名字,所以我不确定确切的答案。但是
--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没有影响。相关问题 更多 >
编程相关推荐