2

我正在寻找一种方法来组合多个 .coverage 文件,然后生成一个 html 报告。目前,我使用以下命令仅从一个来源生成覆盖范围,并且工作正常:

nosetests --with-coverage --cover-erase --cover-html --cover-html-dir=/var/www/coverage

现在我想首先将过程分成两部分:

  1. 生成覆盖率报告(.coverage 文件)
  2. 从 .coverage 文件生成 html 报告

第一步很清楚,与省略 html 部分之前的命令相同。然后我在很多地方看到过随便跑coverage html,包括python覆盖包网站。当我这样做时,我会获得一份控制台打印的报告,其中包含我的报道和以下内容

======================================================================
ERROR: Failure: ImportError (No module named html)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/loader.py", line 402, in loadTestsFromName
    module = resolve_name(addr.module)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/util.py", line 311, in resolve_name
    module = __import__('.'.join(parts_copy))
ImportError: No module named html

就像鼻子以某种方式干扰:

$ coverage report -m
Usage: nosetests [options]

nosetests: error: -m option requires an argument

$ coverage --help
Usage: nosetests [options]
4

1 回答 1

1

看起来您的覆盖包安装不正确。尝试运行pip freeze以查看您是否安装了独立的coverage==3.5.3或等效的。如果您没有任何东西,请尝试pip install coverage. 安装后,您将可以访问coveragepython 二进制实用程序文件夹中的二进制文件,而不是看起来像 nosetests 的别名。

于 2014-02-26T17:59:49.037 回答