Python 如何测试setup.py?
我一直在从我的库中收集单元测试覆盖率,但由于我没有Python 如何测试setup.py?,python,setup.py,nosetests,Python,Setup.py,Nosetests,我一直在从我的库中收集单元测试覆盖率,但由于我没有setup.py的测试用例,因此该文件始终给出0 是否有人曾经使用nosetests测试setup.py?以下是我的文件结构: setup.py library/*.py tests/test*.py doc/source/*.rst 这是我的测试命令。我在setup.py所在的同一目录中运行了它: nosetests --with-cov --with-doctest --doctest-extension=.rst 覆盖率输出如下所示:
setup.py
的测试用例,因此该文件始终给出0
是否有人曾经使用nosetests
测试setup.py
?以下是我的文件结构:
setup.py
library/*.py
tests/test*.py
doc/source/*.rst
这是我的测试命令。我在setup.py所在的同一目录中运行了它:
nosetests --with-cov --with-doctest --doctest-extension=.rst
覆盖率输出如下所示:
----------- coverage: platform win32, python 2.7.5-final-0 -----------
Name Stmts Miss Cover
---------------------------------------------------------
library\__init__ 18 0 100%
setup 10 10 0%
....
tests\xxxxxxx 8 2 75%
---------------------------------------------------------
TOTAL 253 39 85%
----------------------------------------------------------------------
因为setup.py为我的覆盖率贡献了0,所以我永远不会达到100%的覆盖率。通常只为
库/
计算覆盖率,而不是为测试/
、文档/
或setup.py
计算覆盖率。你是如何运行测试的python setup.py test
?我根本不会测试setup.py。它通常本质上是非常声明性的,如果不是,那么测试起来就非常复杂,因为它需要你模仿掉很多副作用很重的调用。相反,如果您必须有更复杂的逻辑(例如,从文档文件中提取版本,正如我前几天看到的),请从setup.py中提取,然后单独开发/测试。“那就导入并使用吧!”琼尔夏普,我已经给出了我的答案command@deets,但setup.py为我的覆盖率结果提供了0:(您是否尝试添加--cov库/测试
?请参阅例如。