2012-08-16 82 views
25

我正在阅读bottle.py的源代码。这是一个web框架,只有3000多行python代码。非常酷。python中的Pragma

我发现像这样的代码:

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语法的任何介绍。

+7

我相信这是pycoverage的一条评论,告诉它跳过该方法 – 2012-08-16 17:34:49

+2

'#pragma'绝对不是直接在Python中工作的东西。对于Python来说,它只是**而已**。没有什么类似的说C预处理器。 – pepr 2012-08-16 17:55:07

回答

43

据apparenly相关coverage.py

Coverage.py是衡量Python程序的代码覆盖工具。它监视你的程序,注意代码的哪一部分已经被执行,然后分析源代码来识别可能已经被执行但没有执行的代码。

确切# pragma: no cover暗示代码的一部分应该被工具忽略 - 请参阅Excluding code from coverage

11

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