Sonarqube 多个vnext测试任务,以及

Sonarqube 多个vnext测试任务,以及,sonarqube,tfs-2015,sonar-runner,vnext,Sonarqube,Tfs 2015,Sonar Runner,Vnext,我们有一个同时使用C#和javascript的web解决方案。我得到了一个vNext构建,它使用Jasmine包编译并运行C#单元测试(VSTest任务)和javascript测试。C#测试已经运行了一段时间,效果很好。在库贝报告罚款。我们刚刚让开发人员开始使用Javascript,因此它是添加第二个单元测试任务的催化剂 当两个单元测试任务都运行时,两者都会创建一个trx文件。我注意到的一个特点是,第二个测试任务(无论是C#还是javascript)删除构建服务器上的TestResults目录。

我们有一个同时使用C#和javascript的web解决方案。我得到了一个vNext构建,它使用Jasmine包编译并运行C#单元测试(VSTest任务)和javascript测试。C#测试已经运行了一段时间,效果很好。在库贝报告罚款。我们刚刚让开发人员开始使用Javascript,因此它是添加第二个单元测试任务的催化剂

当两个单元测试任务都运行时,两者都会创建一个trx文件。我注意到的一个特点是,第二个测试任务(无论是C#还是javascript)删除构建服务器上的TestResults目录。现在,这对于TFS报告来说似乎很好,因为覆盖范围似乎包括了两个测试,所以上传也很好。问题是,当它试图将结果发送给SonarQube时,我只得到测试顺序中的第二个结果。一旦我找到了删除第一组测试结果的方法,我就能够使用powershell脚本创建第二个目录来存储结果,直到SonarQube结束任务发生之前。然而,SonarQube似乎不喜欢同一目录中的第2个.trx文件,并从这两个文件中选择了一个上传到其服务器。它会发出一个警告,指出找到了多个.trx文件,并选择一个进行处理

我确实找到了可以传入的有关Sonar参数的一些信息,Sonar.cs.vstest.reportPath=。Sonar确实在原始TestResults文件夹中提取了该文件,但似乎只提到了第二个隐藏目录,仅供参考,没有对其进行任何处理

我也尝试过使用合并过程将两个.trx文件放在一起,但当我这样做时,SonarQube看不到任何单元测试结果


我这里的主要问题是,有没有更好的方法来运行两组测试任务,使用不同的语言和运行者,并将结果显示在同一个项目报告的SonarQube中?我是在尝试不应该做的事情,还是有更好的方法来完成我正在做的事情?

没有更好的方法来实现您想要的功能,正如我所知,您需要为每个测试任务运行分析,如下所示:

  • 准备声纳定量分析
  • 运行测试
  • 完成声纳qube分析
  • 准备声纳定量分析
  • 运行测试
  • 完成声纳qube分析

  • 这里有一个类似的问题:

    您的意思是希望TFS只生成一个。运行两组测试任务后的trx文件?在链接的问题中,有一个引用视图插件的断开链接。它被移动了吗?@TonyDeJaynes该插件自SonarQube 5.5以来被治理所取代我试过上面的方法。声纳只是显示了最后一个。所以,我走了更长的路。我让Chutzpah4.3.3通过DOS命令行运行,其输出通过vNext任务获取和发布。然后,我运行一个Sonar Scanner实例来获取Chutzpah的输出,并根据javascript项目将其发送给SonarQube。该项目不同于C#SonarQube项目。尽管javascript和C#都在同一个csproj中。就目前而言,这将起作用。不漂亮,也不简单,但工作就是工作。