在我的sonar-project.properties文件中,我有以下设置:
...
sonar.sources=src
sonar.exclusions=src/**/*.test.js
sonar.javascript.file.suffixes=js,jsx
但是我的构建失败,出现以下错误:
ERROR: Caused by: Line 346 of report refers to a file which is not configured as a test file: /tmp/app/src/components/__tests__/filters.test.jsx
我的jenkins日志准确报告58 files ignored because of inclusion/exclusion patterns
,使用find . -name "*.test.js" | wc -l = 58
验证
与jsx相同的命令给了我10个结果find . -name "*.test.jsx" | wc -l
意味着sonar.javascript.file.suffixes=js,jsx
不适用于exclusions属性。
如何使用.js和.jsx扩展名排除源代码中的文件?
你做的部分正确。要排除文件,您必须设置sonar.exclusions
。你做到了,但只针对js
文件,所以问题的答案是:
...
sonar.sources=src
sonar.exclusions=src/**/*.test.js,src/**/*.test.jsx
sonar.javascript.file.suffixes=js,jsx
sonar.javascript.file.suffixes
通知JavaScript分析器哪些文件包含JavaScript代码。它不会影响sonar.exclusions
,所以你必须自己定义所有模式。