首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用MSTest分析同一程序集两次的OpenCover输出

使用MSTest分析同一程序集两次的OpenCover输出
EN

Stack Overflow用户
提问于 2011-12-16 21:03:27
回答 1查看 5.4K关注 0票数 4

我已经第一次尝试在当前项目中使用opencover,并且刚刚将其用于我的mstest项目。但是我遇到了一个问题,因为opencover输出xml似乎试图分析同一个程序集两次。同样值得注意的是,其中一个分析显示代码覆盖率为0% (这是错误的),而另一个分析更接近85% (这是正确的)。

我的opencover命令如下所示:

代码语言:javascript
运行
复制
"opencover.console.exe" -register:user -target:"C:\Program Files (x86)\Microsoft visual Studio 10.0\Common7\IDE\mstest.exe" -output:"C:\temp\coverage.xml" -targetargs:"/testcontainer:MyTestAssembly.dll" -filter:+[MyAssembly]MyNamespace.MyClassName

这是指单个程序集,以及该程序集中的单个类。但是,xml输出有2个模块secton,具有相同的散列。有趣的是,第一个模块的FullName指向我的"\bin\Debug\MyAssembly.dll“文件夹中的程序集,而第二个模块指向"C:\temp\TestResults...\Out\MyAssembly.dll”文件夹中的输出程序集。

有什么想法吗?

哑光

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-18 11:35:44

您需要使用WIKI/USAGE中记录的-mergebyhash开关

这是因为mstest在不同位置打开程序集两次;一次是在其原始位置,另一次是在测试文件夹中。

此选项强制opencover通过文件哈希比较程序集,并重新使用以前加载的程序集的序列点的标识符。如果-targetdir找不到PDB,您可能还需要使用它来指向包含PDB的文件夹,但它通常会在没有额外帮助的情况下找到它们。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8534562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档