代码之家  ›  专栏  ›  技术社区  ›  hithwen

从覆盖率文件生成html报告

  •  2
  • hithwen  · 技术社区  · 10 年前

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

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

    现在,我想将流程分成两部分:

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

    第一步是明确的,与提交html部分之前的命令相同。 然后我在很多地方看到了跑步 coverage html 包括…在内 python coverage package website . 当我这样做时,我会得到一份控制台打印的报告,内容包括我的报道和以下内容

    ======================================================================
    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]
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Oleksiy    10 年前

    看起来您的保险包安装不正确。尝试跑步 pip freeze 看看你是否有独立的 coverage==3.5.3 或同等安装。如果你什么都没有,试试看 pip install coverage 。安装后,您将可以访问 coverage python二进制实用程序文件夹中的二进制文件,类似于nosetests别名。