我在配置 sonarqube 时遇到问题,无法与 React + Jest 一起正常工作。
我的配置:
my_moudle.sonar.projectBaseDir=front_app
my_module.sonar.javascript.file.suffixes=.js,.jsx
my_module.sonar.tests=src
my_module.sonar.test.inclusions=**/__tests__/**
my_module.sonar.javascript.lcov.reportPaths=coverage/lcov.info
目前我将 src 文件夹指向为测试文件夹,因为我在同一项目文件夹中的测试文件夹中为每个组件设置了一组测试。感谢 SonarJS,我对我的项目有适当的覆盖,但我不知道为什么我看不到覆盖度量指标中的单元测试数量。任何检查的配置将不胜感激。
谢谢,巴布
我们正在尝试为我们的角度应用程序制作SonarQube代码覆盖率报告.我们使用Karma生成代码覆盖率报告并将其导入SonarQube分析器.
SonarQube已经为我们的项目提供了C#覆盖,现在我们也希望添加JavaScript代码覆盖.
Teamcity调用,Karma和它创建代码覆盖并将lcov文件和报告文件放入src\Planning.Spa\Coverage\report
文件夹.
LCOV文件
TN:
SF:E:/a03/work/bb52cb33e083fc9/src/Planning.Spa/Offer/app/app.component.js
FN:5,(anonymous_1)
FN:6,AppComponent
FN:8,(anonymous_3)
FN:9,(anonymous_4)
Run Code Online (Sandbox Code Playgroud)
Teamcity具有以下MSBuild参数,用于生成C#代码覆盖率和JavaScript覆盖率.
SonarQube MSBuild配置
$sonar=%system.MSBUILD_SONARQUBE_RUNNER%\MSBuild.SonarQube.Runner.exe
begin /k:"com.test:Test" /n:"MyProject" /v:"%build.number%"
/d:sonar.cs.dotcover.reportsPaths="$coverageReport"
/d:sonar.cs.nunit.reportsPaths="$testResults"
/d:sonar.javascript.lcov.reportPaths="coverage\report\lcov.info"
Run Code Online (Sandbox Code Playgroud)
在运行SonarQube分析时,我们收到以下错误
[14:35:56][Step 13/13] 14:35:56.243 WARN: Could not resolve 114 file paths in
[E:\a03\work\bb52cb33e083fc9\src\Planning.Spa\coverage\report\lcov.info],
first unresolved path: E:/a03/work/bb52cb33e083fc9/src/Planning.Spa/Offer/app/app.component.js
Run Code Online (Sandbox Code Playgroud)
我们没有找到使用MSBuild runner运行C#和JavaScript的任何示例.也找不到任何与此相关的答案Could not resolve file paths
我们正努力让它在过去两周内发挥作用,但却找不到任何有用的示例或答案.类似的问题在这里和这里都没有答案
更新声纳分析更多信息
[14:35:43][Step 13/13] 14:35:43.751 INFO: Base dir: E:\a03\work\bb52cb33e083fc9\src\Planning.Spa
[14:35:43][Step 13/13] 14:35:43.751 INFO: Working dir: E:\a03\work\bb52cb33e083fc9\.sonarqube\out\.sonar\com.Planning_com.Planning_6CC487F0-8283-4351-9B65-F1698B1B804E
[14:35:43][Step 13/13] 14:35:43.755 INFO: Source paths: Offer/App/app.component.js, Offer/App/app.component.js.map, Offer/App/Common/order-by.pipe.js
[14:35:43][Step 13/13] 14:35:43.755 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过以下方式将 ESLint 问题导入 SonarQube:
eslint -f json -o report.json .
然后使用 key 运行 sonar-scanner -Dsonar.eslint.reportPaths=report.json
。
但是,SonarQube 分析仅报告存储库 SonarAnalyzer 提供的规则的问题。如何让 SonarQube 也报告 ESLint 问题?
就像 sonar-java 和注释 @SuppressWarnings("squid:S2078") 一样,
sonar-js 有没有办法忽略一段代码上的一条规则?
git repo 没有任何这样的例子。
我开发了一个react-redux ES6应用程序,并且我有默认值的reducer:
export default function myReducer(prev = initialState, action)
Run Code Online (Sandbox Code Playgroud)
和声纳抱怨“具有默认值的函数参数应该放在最后”。
但我无法更改减速器参数的顺序,我需要一个默认值。
错误信息是"make sure this cross-domain message is being sent to the intended domain"
。
此检查规则来自RSPEC-2819
在包含任何机密信息的消息中,作者不应在 targetOrigin 参数中使用通配符关键字 (*),否则无法保证消息仅传递给预期的收件人。
我认为它要求*
不能用作targetOrigin
,但是当我使用预期域时它仍然显示警告,targetOrigin
如下所示:
请有人告诉我如何通过这个检查,
任何帮助,将不胜感激