gpt4 book ai didi

python - 如何从 SonarQube 测试覆盖范围中排除 `if __name__ == ' __main_ _':` 下的代码

转载 作者:行者123 更新时间:2023-12-03 19:08:43 27 4
gpt4 key购买 nike

我有一些要求,至少需要达到 80% 的线路覆盖率。我有一些文件,其中大部分代码位于 if __name__ == '__main__': 下无需测试。
我如何指示 SonarQube 从测试覆盖范围中排除那部分代码。我看到有使用 sonar.exclusions 排除文件和模块的选项。和 sonar.coverage.exclusions .排除文件的某些部分对我有很大帮助。例如,我想排除 if __name__ == '__main__': 中的所有内容。从 sonarQube 屏蔽以下:

#Test Everything inside this method
def do_something():
# Some code

# Do not test and include the following codes in the SonarQube coverage
if __name__ == '__main__':
# A lot of codes for running different functions of this module

最佳答案

我找到了解决问题的方法。这就是为什么我要为其他人提供帮助。我们使用了pytestcoverage计算覆盖率报告。 SonarQube 刚刚阅读了该报道。
为了排除某些行,我们在该行之后添加了以下内联注释:

# pragma: no cover
例如行 print("Hello World")将被排除在测试覆盖率报告之外,
if __name__=="__main__":
print("Hello World") # pragma: no cover

关于python - 如何从 SonarQube 测试覆盖范围中排除 `if __name__ == ' __main_ _':` 下的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62932959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com