Go - 为什么单元测试文件不包含在声纳覆盖报告中?

问题描述 投票:0回答:1

单元测试文件未包含在声纳覆盖执行中。以下是项目声纳属性。 #sonar.language=go sonar.sources=. sonar.exclusions=**/*_test.go,third_party/**,**/node_modules/**,idea/**,**/*.java,**/*.c,**/*.cc ,**/*.h,docs/**,**/*.sandesh,**/*.gd sonar.sourceEncoding=UTF-8 sonar.tests=。 sonar.test.inclusions=**/*_test.go sonar.test.exclusions=third_party/** sonar.analysis.mode= #构建包装器输出目录 #sonar.cfamily.build-wrapper-output=bw-outputs #Encoding of the source files sonar.sourceEncoding=UTF-8 尝试从 sonar.exclusions 中删除“**/*_test.go”,但这并没有解决问题。覆盖率仍然显示 0,单元测试结果为空。请建议如何解决以下空覆盖问题。 [![在此输入图片描述](https://i.stack.imgur.com/YiIjQ.jpg)](https://i.stack.imgur.com/YiIjQ.jpg)

尝试从 sonar.exclusions 中删除“**/*_test.go”,但尚未解决问题。

请建议如何包含要考虑用于覆盖率报告的单元测试文件。

sonarqube sonarscanner
1个回答
0
投票

覆盖测试文件是没有意义的。你知道进行了哪些测试。所有测试都应包含三个简单的部分:Arrange、Act、Assert。这些是顺序语句,没有条件或循环,因此无需检查。

获取代码覆盖率的全部目的是查看累积的执行路径是什么,通常由测试触发。所以我们的目标是看看测试触及了什么线。测试本身的覆盖范围只会告诉您有关测试框架的信息。除非你编写了测试框架并想要检查它,否则它对你没有任何好处。

© www.soinside.com 2019 - 2024. All rights reserved.