67

我正在阅读bottle.py 源代码。它是一个 Web 框架,只有 3000 多行 Python 代码。非常酷。

我发现了一些这样的代码:

class ServerAdapter(object):
    quiet = False
    def __init__(self, host='127.0.0.1', port=8080, **config):
        self.options = config
        self.host = host
        self.port = int(port)

    def run(self, handler): # pragma: no cover
        pass
    ... 

是什么# pragma: no cover意思?我在 python 文档中找不到任何关于pragma语法的介绍。

4

2 回答 2

99

它显然与coverage.py相关:

Coverage.py 是一个测量 Python 程序代码覆盖率的工具。它监视您的程序,注意代码的哪些部分已被执行,然后分析源代码以识别可能已执行但未执行的代码。

# pragma: no cover正是工具应该忽略该部分代码的提示 - 请参阅从覆盖范围中排除代码

于 2012-08-16T18:04:45.750 回答
17

对于 Python,它只是一个注释。它可能是针对某个外部工具的注释,它读取和分析 Python 代码,例如,类似于 doctest 的#doctest: +ELLIPSIS注释或 PyLint 的# pylint: disable=W0613样式注释。

于 2012-08-16T17:30:24.823 回答