【问题标题】:code Coverage for Python testing for 3.4 on windowsWindows 上 3.4 的 Python 测试的代码覆盖率
【发布时间】:2015-01-09 14:00:30
【问题描述】:
我想尝试使用coverage.py 来测试我的python 代码。我正在使用 Python 3.4,它在 Ned 的网站上显示
最新版本是 coverage.py 3.7.1,于 2013 年 12 月 13 日发布。它在 Python 2.3 到 3.4 版本上受支持
但是,我找不到 3.4 的 Windows 设置。我必须安装 3.3 才能运行覆盖范围吗?由于我尝试使用 3.3.5 并且 3.3 的设置说它没有找到 Python 注册,并且 3.4 版本仅在非 Windows 平台上可用?
编辑:
也试过 3.3.0 它仍然给了我一个在注册表中找不到的 python
【问题讨论】:
标签:
python
testing
python-3.x
code-coverage
【解决方案1】:
我怀疑我通过解压缩 zip 文件在我想要的目录中“安装”了coveragepy。它不是为任何特定版本安装的。 coveragepy.main 显然是为在多个 Python 版本上运行而编写的。我使用我的(未注册的)存储库版本 3.4 和 cover.bat 文件运行它,以测试提议的 idlelib 测试文件的覆盖率。
@echo off
rem Usage: cover fileName [test_ suffix] # proper case required by coveragepy
rem filename without .py, 2nd parameter if test is not test_filename
setlocal
set py=34\pcbuild\python_d
set src=idlelib.%1
if "%2" EQU "" set tst=34/Lib/idlelib/idle_test/test_%1.py
if "%2" NEQ "" set tst=34/Lib/idlelib/idle_test/test_%2.py
%py% coveragepy run --pylib --source=%src% %tst%
%py% coveragepy report --show-missing
%py% coveragepy html
htmlcov\34_Lib_idlelib_%1.html
我对@987654323@ 与定制的.coveragerc 及以上组合感到非常满意。
【解决方案2】:
最终重新安装 Python 3.3.5 选择唯一的我选项,选择所有用户不会在您的用户中注册 python,但它会在机器中注册它