0

我是 TFS 新手,想将 OpenCover 与 TFS 集成。如果有人这样做,请帮助!

4

4 回答 4

3

这个问题很老了,但也许你仍然感兴趣。使用当前版本的 TFS(2015 更新 2),这现在可以作为“vsts 扩展”。

详见此处:https ://github.com/RobertK66/vsts-opencover

于 2016-06-17T17:31:06.647 回答
3

由于答案没有指定 TFS 的版本,这里是 2015/2017 的答案。

OpenCover 可以使用 Powershell 构建步骤从 TFS 运行。您需要将OpenCover NuGet 包的内容放到 TFS 上并OpenCover.console.exe从那里运行。

由于 TFS 不支持 OpenCover 生成的格式,因此您需要采取额外的步骤并将结果转换为 Cobertura 格式。可以使用OpenCoverToCoberturaConverter NuGet 包。

我已经在我的博客上更详细地描述了整个过程:

http://codewithstyle.info/setting-up-coverage-reports-on-vsts-with-opencover/

于 2017-03-30T18:34:34.083 回答
1

OpenCover只是一个控制台应用程序,因此您只需修改脚本即可让 OpenCover 运行您的单元测试。

我已经好几年没用过 TFS 了,从那以后它发生了变化,但是这篇博文应该会有所帮助

将 OpenCover 的覆盖率测量纳入 TFS 的构建过程(后半部分)

原件是日文的,但如果您熟悉 TFS,那么屏幕可能会很明显。

OpenCover 还附带一个MSBuild 任务,可以帮助您进行集成。

于 2013-08-31T11:12:49.060 回答
0

我刚刚将 opencover 与 TFS Build 集成,以生成一个带有声纳处理结果的 xml:

有cmd内容:

@REM @echo suppresses command line. ^ is line continuation character
@ECHO Executing 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" ^
-output:%~dp0opencovertests.xml

但是我面临三个问题(与我的具体实现有关,但您可能会遇到它们):

  1. 测试运行两次(一次用于模板本身,另一次用于 OpenCover)
  2. TFS 服务器中的 MsTest.exe 不在同一路径中,因此当控制器分配代理时(如果通过标签完成匹配),那么如果执行构建的代理位于没有 MSTest 的 TFS 服务器中正确的道路它会失败。
  3. 如何根据测试项目在 cmd 中注入相应的测试运行器(MsTest、XUnit、Nunit 等)

希望对您有所帮助!(有人可以帮助我;-)

于 2014-10-30T11:11:07.297 回答