当前位置: 首页 > 知识库问答 >
问题:

JavaScript单元测试在SonarQube上不起作用

祁乐邦
2023-03-14

我对SonarRunner有以下问题。

SonarQube 以及 Sonar 运行器无法拉取 junit 格式的 xml 报告

“单元测试”或“测试覆盖率”小组件不显示。它说没有数据。我正在按照此处描述的说明进行操作

我按照描述手动创建了XML格式的报告文件,但是仍然没有成功。

下面是 XML 文件 - TEST-Firefox_210_Mac_OS.com.company.BarTest.xml,

<testsuite name="Firefox_210_Mac_OS.com.company.BarTest" errors="0" failures="0" tests="3" time="0.0">
  <testcase classname="Firefox_210_Mac_OS.com.company.BarTest" name="testfullName" time="0.0"/>
</testsuite>

拉取单元测试执行报告以显示在声纳仪表板上。我从这里使用了示例git项目

下面是我的sonar-project.properties,

# project metadata (required)
sonar.projectKey=org.codehaus.sonar:javascript-sonar-runner-jstestdriver
sonar.projectName=JavaScript project with Sonar Runner reusing reports generated by JsTestDriver
sonar.projectVersion=1.0

# path to source directories (required)
sonar.sources=C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/sources

# path to tests source directories (required)
sonar.tests=C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/tests

sonar.javascript.jstestdriver.reportsPath=C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/target/TEST-Firefox_210_Mac_OS.com.company.BarTest.xml


sonar.sourceEncoding=UTF-8

下面是我的jsTestDriver.conf

server: http://localhost:9876

load:
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/sources/*.js
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/sources/com/company/*.js
test:
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/tests/*.js
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/tests/com/company/*.js

plugin:
 - name: "coverage"
   jar: "coverage-1.3.5.jar"
   module: "com.google.jstestdriver.coverage.CoverageModule"

我的声纳库在端口上运行:9000,下面是屏幕截图。正如你所看到的,SonarRunner和jsTestDriver只是做代码分析,没有显示任何单元测试。

共有1个答案

方德宇
2023-03-14

SonarQube.doc网站表示,jsTestDriver将运行javascript单元测试,并将结果以XML格式复制到目标文件夹中

SonarQube不运行您的单元测试,它只是收集从您的手册运行或其他工具自动运行(如:Jenkins)生成的报告。

来自SonarQube文档:

在SonarQube分析之前,执行您的单元测试以生成XML报告。支持的类似XML的JUnit格式是由js-test-Drive生成的


这是一个很好的例子

然后,我按照所述手动创建了XML格式的报告文件,但仍然没有运气。

如果手动创建了报表文件,但报表仍未显示,请检查路径(如果正常)。检查声纳是否真的从C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/path读取数据

 类似资料:
  • 我最近安装了Android Studio Arctic Fox v2020。3.1 Beta 2能够在我们的项目中使用Jetpack,因为在4.2.1版本中我无法这样做,因为抛出了一个奇怪的构建错误,在北极狐上得到了修复。 问题是,在加载项目、更新我能够构建和运行的一些SDK/库之后,没有问题。然而,当我去运行单元测试时,我注意到IDE不再识别所有测试类。经过一些调查,我发现AS的新版本将不再识别

  • 问题内容: 我已经通过两种方式为我的单元测试创​​建了用户: 1)为“ auth.user”创建一个大致如下的灯具: 我省去了看似不重要的部分。 2)在setUp函数中使用“ create_user”(尽管我宁愿将所有内容保留在我的Fixture类中): 请注意,两种情况下的密码均为辛普森。 我已验证该信息一次又一次正确地加载到测试数据库中。我可以使用User.objects.get来获取User

  • 我正在尝试使用intellij idea运行单个spock单元测试。 考虑: 在上面的测试中,当我转到测试主体和右上下文菜单时,我得到了两种类型的测试。一个是grails测试,另一个是junit测试。 关于这个问题,公认的答案建议使用jUnit运行程序。但是使用它,代码根本无法编译(可能是因为某些插件和其他类不可用)。 (我不确定,因为这是期望的行为,因为我只是运行一个测试,而不是所有的测试。所以

  • 问题内容: 我正在尝试使用Spring测试实体EJB3。 EJB本身不使用Spring,并且我想使生产JPA配置的重复保持最少(例如,不重复persistence.xml)。 我的单元测试似乎可以正常工作,但是即使我的单元测试应该是事务性的,数据仍会在各种测试方法之间持久存在…… 这是我的实体: 我的单元测试: 和我的appContext.xml: 当我运行测试时,test2失败,因为它找到了两个

  • 我正在尝试使用Mockito在SprinBoot应用程序中进行一些jUnit测试。 现在我的服务有了一些变量,可以从通过注释: 我试图通过像这样使用来测试这个: 但是,该属性不会被填充,并保持为。 这方面有很多TPOIC,但我还没能拼凑出一个解决方案。我看到解决方案建议,但它似乎想做一个集成测试,使服务加速,但由于无法连接到数据库,服务失败了。所以这不是我想要的。 我还看到一些解决方案建议我制作一

  • 我可以在声纳获得单位测试覆盖率通过使用Jacoco工具的代码覆盖率,并使用其报告在声纳属性文件为'sonar.jacoco.report路径=.../Reports/report.exec'。如何通过使用RAD的默认插件获得SONAR中的单元测试覆盖率,该插件以. coveragedata、. Analysis和. html格式生成报告?