我为scikit-image
做了贡献,并使用了coverage
。现在,当我这么做时
coverage run benchmarks/benchmark_name.py
然后生成报告,有很多文件与此文件没有任何链接,但当我运行上面的命令时,这些文件仍在执行。我在这些文件中注意到一件有趣的事情,只有具有函数定义(def abc():
)的行才会运行。如下图所示:
它基本上显示了一个文件的覆盖率报告,该文件与我的文件没有任何链接。然而,它正在运行,并且只有函数定义语句和导入语句。
这是python将项目中定义的函数带入其作用域的方式吗?如果是这样的话,我想知道发生这种情况的流程。请帮帮忙。
谢谢。
发布于 2018-08-06 02:51:03
您看到的是import
传递依赖关系。在导入时,将执行任何未受if __name__ == '__main__':
子句保护的内容,包括您提到的def
语句。
使用coverage run --omit=...
和类似的选项来修剪报告输出。
https://stackoverflow.com/questions/51697177
复制相似问题