typescript 当测试和源代码在一起时,Sonarqube测试报告“报告指的是一个未配置为测试文件的文件”

tquggr8v  于 2023-05-19  发布在  TypeScript
关注(0)|答案(4)|浏览(160)

我正在使用TypeScript和Jest,并将我的测试放在我的源文件旁边。例如:

  • someDir
  • someCode.ts
  • someCode.spec.ts

当我尝试导入text-report.xml(看起来很好,与格式匹配)时,我得到一个错误:
'X行报告引用未配置为测试文件的文件:/someDir/someCode.spec.ts'
我需要在Sonarqube属性中进行什么配置,以便它了解哪些文件是测试,哪些是源文件?

pvabu6sv

pvabu6sv1#

似乎它不检测文件在子文件夹中使用“."。我能让它工作的唯一方法就是列出所有的文件夹。

sonar.sources=helpers,managers,routes,schemas,types
sonar.tests=helpers,managers,routes,schemas,types
sonar.exclusions=**/*.js,test-data,dist,coverage
sonar.test.inclusions=**/*.spec.ts
sonar.testExecutionReportPaths=test-report.xml
sonar.javascript.lcov.reportPaths=coverage/lcov.info
5anewei6

5anewei62#

你可以试试

sonar.sources = **/someDir/**/*
sonar.tests = **/someDir/*
//or
sonar.sources = **/someDir/*
sonar.tests = **/someDir/*

这取决于您是否有任何子目录。可能是列出测试和源的所有位置的更好的替代方案。

kmb7vmvb

kmb7vmvb3#

对我来说,即使在添加了sonar.test.inclusions=**/*-spec.js之后,测试报告也没有出现。在添加sonar.tests=.(same as sonar.sources)后,它可以正常工作

8qgya5xd

8qgya5xd4#

在sonar.properties(或任何您用于属性的SQ文件名)文件中的sonar.test.inclusions=设置中的错误值是导致我出错的原因。声纳需要该设置来识别测试文件。
您可以使用类似于:
sonar.test.inclusions=src/__test__/**/*.test.ts,src/**/*.spec.ts

相关问题