我们在6.3.1版中使用SonarQube,并对其功能非常满意。
然而,我们希望包括测试代码来分析。更具体的是,将它们包括在分析中,但因为重复和代码覆盖而将它们排除在外。
我们当前的配置如下所示:
sonar.sources=src/src
sonar.tests=src/tests, src/jsTests
sonar.test.inclusions=src/jsTests/**, src/tests/**据我们所见,声纳自动将我们的测试排除在分析之外:
10:20:37.223 INFO - Excluded sources:
10:20:37.223 INFO - **/Externals/**
10:20:37.223 INFO - src/jsTests/**
10:20:37.223 INFO - src/tests/**
10:20:37.223 INFO - Included tests:
10:20:37.223 INFO - src/jsTests/**
10:20:37.223 INFO - src/tests/**这就是我们想要改变的。有什么想法吗?
发布于 2017-05-19 11:36:35
SonarJava分析器包括特定于测试的规则,如S2699,“测试应该包括断言”,以分析它们是否适合作为测试。如果配置文件中包含这些规则,则这些规则将自动运行,并且仅针对测试文件。“正常”规则不针对测试文件运行。
要分析测试文件中代码本身的质量,需要设置单独的分析,将sonar.sources设置为测试的位置。然后,您可以设置覆盖率和重复排除,就像Pierre-Yves建议的那样,我也会通过UI,而不是在分析属性中这样做。
发布于 2017-05-18 11:58:01
更改配置,以便将测试视为源文件。试一试如下:
sonar.sources=src/src, src/tests, src/jsTests
sonar.tests=
sonar.test.inclusions=
sonar.coverage.exclusions=src/tests/**, src/jsTests/**
sonar.cpd.exclusions=src/tests/**, src/jsTests/**https://stackoverflow.com/questions/44046341
复制相似问题