Sonarqube:从多个目录抓取测试并避免“文件不能被索引两次”

Sonarqube: grab tests from multiple directories AND avoid an 'file can't be indexed twice'

'how to grab tests from multile folders' 等问题的答案与“如何避免文件无法被索引两次”的答案正好相反。所以这个问题不是其中一个的重复。

我有这样的结构:

src
  |_component1
  |          |__tests__
  |                    |_units.tsx
  |
  |_component2
             |__tests__
                       |_units.tsx

如果我尝试像这样自定义 sonar

'sonar.sources': 'src',
'sonar.tests': 'src',
'sonar.exclusions': 'src/**/__tests__/**/*',
'sonar.tests.inclusions': 'src/**/__tests__/**/*.{js,jsx,ts,tsx}',

失败并出现错误 file can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files

如果我为 sonar.sourcessonar.tests 提供不同的路径,它就看不到我的多个 __tests__ 目录。

我怎样才能同时抓取多个测试目录并避免此错误?

好的,我有答案了!

正确的设置是:

'sonar.sources': 'src',
'sonar.tests': 'src',
'sonar.exclusions': '**/__tests__/**',
'sonar.test.inclusions': '**/__tests__/**',

不是sonar.TESTS.inclusions,是sonar.TEST.inclusions,相差1个字母