首页 文章

如何在TFS 2013的持续构建集成中使用代码覆盖工具?

提问于
浏览
0

我正在使用TFS 2013 \ VS 2013专业版进行持续构建 . 我希望使用像OpenCover这样的开源工具进行代码覆盖 . 我没有代码覆盖工具的经验 . 我从Nuget安装了OpenCover UI,但不确定如何在TFS中集成构建中包含Codecoverage . 在构建运行时获取“无代码覆盖率结果” .

我在构建定义中的自动测试节点下启用了代码覆盖 .

如何在TFS \ VS 2013专业版中实现代码覆盖的任何建议将不胜感激 .

1 回答

  • 0

    如果你的意思是构建定义中的 Enabled Code Coverage ,就像下面的screeshot一样 .

    enter image description here

    这是VS内置代码覆盖,根据Compare VS offerings站点,只有 Visual Studio Enterprise 具有代码覆盖功能,因此如果您使用TFS进行CI构建并希望使用内置代码覆盖功能,请在构建代理上安装VS Enterprise机器是必需的 .


    如果要将OpenCover与TFS XAML构建集成,则需要自定义构建过程模板,在构建定义中添加自定义活动以触发用于生成报告的opencover命令 .

    在我的源文件夹的根目录创建了一个RunCoverage.cmd在TFS服务器中安装/复制了Opencover二进制文件并添加到了Path中(必须重新启动TFS服务才能使TFS看到它) . 在构建定义中创建了一个新的actitivity,即编辑构建模板(在声纳执行活动之前)以运行来自TFS自定义活动的cmd:Running命令行语句http://msdn.microsoft.com/en-us/library /gg265783.aspx有cmd内容:@REM @echo禁止命令行 . ^是续行字符
    @ECHO执行OpenCover ......
    OpenCover.Console.exe -register:user ^
    -target:“C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ MSTest.exe”^
    -targetargs:“/ testcontainer:%~dp0test.dll / usestderr /resultsfile:%〜dp0MSTestsResults.trx”^

    • 输出:%〜dp0opencovertests.xml

    更多细节请参考NaimRajaDíaz在这个类似问题中给出的答案:Integration of OpenCover with TFS

相关问题