我有一个TFS 2013
环境设置,我想在构建后让TFSBuild
收集我的代码覆盖率结果。
测试运行正常,但无论我尝试什么,我都会收到一条消息:#34; No Code Coverage Results"。
我已经阅读过"代码覆盖率分析服务",但这根本没有安装在我的服务器上,我似乎无法在任何地方找到它。
我已经完成了构建过程,以确保我有"自动化测试 - >测试源 - >运行设置 - >运行设置的类型"设置为CodeCoverageEnabled
,但无论我尝试了什么,我都无法将结果发布到Analysis服务数据库,因此我可以运行Code Coverage Reports
。
我已经尝试过运行设置文件,但没有运气,所以我已经把它排除在等式之外。
非常感谢任何帮助!
答案 0 :(得分:57)
我刚刚弄清楚问题是我的代码覆盖率没有在buildserver上计算出来。我在微软的帮助台上想到这一点,这是一个小的UI错误。
重现步骤:创建新的构建定义。
要解决此问题,请使用构建定义的其他ui。
现在代码覆盖率已经计算好了!微软帮助台已经向开发团队提交了一个错误,它将被修复,我想下一个版本。小虫子但是花了我两天多的时间来找到这个虫子!
答案 1 :(得分:4)
您的构建计算机上是否安装了Premium或Ultimate visual studio?其中任何一个都需要将代码覆盖率结果返回到TFS
答案 2 :(得分:0)
我认为“其他窗口”是指右键单击解决方案的“Local.testsettings”文件(或其他[] .testsettings文件),选择“打开”并浏览各种设置。当您将“测试运行位置”单选按钮设置为“使用本地计算机或测试控制器运行测试”时,“数据和诊断”下的“代码覆盖率(Visual Studio 2010)”中有一个设置。
答案 3 :(得分:0)
我正在使用带有Visual Studio Online的本地构建服务器和.runsettings文件,我遇到了完全相同的问题。
上面的技巧都没有帮助,所以我在托管构建控制器上测试了构建脚本并且工作正常,所以我认为问题必须是构建服务器本身。
我将Build Service帐户从“网络服务”更改为TFS配置工具中的常规Windows用户帐户,现在收集了代码覆盖率。请注意,此用户需要访问TFS构建目录。
答案 4 :(得分:0)
上述解决方法对我无效(VS2015 update5& TFS2013 Update 3)。
就我而言,构建服务器上没有安装Visual Studio,这似乎是返回代码覆盖率结果的要求。
来自MSDN
对于以下情况,需要在构建服务器上安装Microsoft Visual Studio:
使用数据和诊断数据适配器:
- Code coverage: Visual Studio Premium or later.
- Test impact: Visual Studio Ultimate.
- IntelliTrace: Visual Studio Ultimate.
在构建计算机上构建任何现代风格的应用程序:Visual Studio Ultimate或Visual Studio Express for Windows 8(构建服务器上的操作系统必须是Windows 8)。