在Bamboo门户中,我创建了不同的任务,其中,我检出代码并获取最新代码,使用MSBuild生成解决方案,使用脚本运行Sonarqube分析。
脚本还包含用于运行测试用例的脚本。
任务1:源代码结帐配置:我已选择存储库名称。
Task2:命令配置:此步骤将Nuget软件包还原到解决方案中
任务3:脚本配置:启动声纳扫描仪 使用的脚本是:
"C:\sonar-scanner-msbuild-net461\MSBuild.SonarQube.Runner.exe" begin /k:"ProjectKey" /n:"ProjectName" /v:"1" /d:sonar.host.url="SonarqubeURL" /d:sonar.login=435454352345fgdfdsfvdc342434 /d:sonar.cs.vscoveragexml.reportsPaths="C:\Project\Application.coveragexml"
Task4:命令配置:MSBuild:构建解决方案
任务5:脚本配置:运行单元测试: 使用的脚本:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe" collect /output:"C:\Project\Application.coverage" "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "TestProject\bin\Release\TestProject.dll"
"C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe" analyze /output:"C:\Project\Application.coveragexml" "C:\Project\Application.coverage"
Task6:脚本配置:End Sonnar扫描仪
"C:\sonar-scanner-msbuild-net461\MSBuild.SonarQube.Runner.exe" end /d:sonar.login=435454352345fgdfdsfvdc342434
这些是我在Bamboo阶段的任务。 Task6将测试用例的结果发布到SonarqubeURL。现在,这一切都按预期进行。
但是当我运行这个计划时,它表明它是一个没有测试的版本。 Task5正在运行所有测试用例,但是如何让Bamboo知道测试用例正在运行。另外,如果任何单元测试用例失败,则如何像通过:X的测试用例一样显示它,失败:Y。
我还缺少其他步骤吗?任何帮助深表感谢。
PS:这是c#中的Windows服务,用于MStest编写测试用例。
答案 0 :(得分:0)
大多数测试工具(包括我认为的VSTest)都会发出与JUnit格式兼容的测试结果XML文件。在运行测试并将其配置为解析创建的文件之后,您需要添加一个解析JUnit Files步骤。请注意,您可以在本地运行该版本以弄清楚这些文件的创建位置。
这是有关JUnit Parser任务的文档:
https://confluence.atlassian.com/bamboo/junit-parser-289277056.html
(Atlassian提供了有关BTW产品的出色文档)