将Angular单元测试报告导入Sonarqube

时间:2018-03-28 15:58:06

标签: javascript angular unit-testing sonarqube karma-jasmine

上下文

在使用karma和jasmine进行单元测试的Angular5项目中,我使用karma-sonarqube-unit-reporter为我的单元测试生成此报告文件。

<testExecutions version="1">
  <file path="src/app/app.component.spec.ts">
    <testCase name="app/app.component.spec.ts should create the app" duration="314"/>
    <testCase name="app/app.component.spec.ts should have as title 'Projet de test Angular5'" duration="104"/>
    <testCase name="src/app/app.component.spec.ts should render title in a h1 tag" duration="114"/>
  </file>
  <file path="src/app/client-add/client-add.component.spec.ts">
    <testCase name="client-add/client-add.component.spec.ts should create" duration="107"/>
  </file>
  <file path="app/client.service.spec">
    <testCase name="app/client.service.spec #getClients should return an Observable&lt;Client[]>" duration="38"/>
  </file>
  <file path="src/app/message.service">
    <testCase name="app/message.service should be created" duration="35"/>
  </file>
</testExecutions>

但是当我将它导入Sonarqube(v6.7)(通过Jenkins)时,我得到以下内容

INFO: Sensor Generic Test Executions Report
WARN: Property 'sonar.genericcoverage.unitTestReportPaths' is deprecated. Please use 'sonar.testExecutionReportPaths' instead.
INFO: Parsing C:\Users\adminpp\.jenkins\workspace\ELIS JustElis Beta WEB\reports\ut_report.xml
INFO: Imported test execution data for 0 files
INFO: Test execution data ignored for 4 unknown files, including:
src/app/app.component.spec.ts
src/app/client-add/client-add.component.spec.ts
src/app/client.service.spec
src/app/message.service
INFO: Sensor Generic Test Executions Report (done) | time=110ms

以下是我的声纳属性,用于排除和包含来源和测试代码。

sonar.sourceEncoding=UTF-8
sonar.sources=.
sonar.exclusions=**/node_modules/** 
sonar.test.inclusions = **/*.spec.ts
sonar.import_unkown_files=true
sonar.typescript.lcov.reportPaths=coverage/lcov.info
sonar.testExecutionReportPaths=reports/ut_report.xml

我检查过,我的* .spec.ts文件应该在那里。

问题

为什么Sonarqube找不到我的文件?

我错过了房产或重要的一步吗?

(此属性sonar.test.inclusions = **/*.spec.ts是否重要?)

1 个答案:

答案 0 :(得分:1)

  

你可以尝试添加属性sonar.tests =。 (值设置为当前目录) - Tibor Blenessy

在声纳配置中添加此属性对我有用。

当我设置了属性sonar.tests但我没有sonar.test.inclusions时出现错误但是有两个,一切正常。