OpenCover缺少PDB异常

时间:2015-06-17 16:14:48

标签: c# unit-testing windows-phone-8.1 code-coverage opencover

我正在使用Windows Phone 8.1应用。这个应用程序有使用MSTestFramework实现的单元测试。要运行测试,我们需要使用vstest.console.exe并为单元测试项目生成.appx文件。现在我需要使用OpenCover来分析测试并获得覆盖率报告。

我正在关注this教程,但到目前为止,我无法让它发挥作用。

根据教程,我创建了一个批处理文件,其中包含以下行:

vstest.console.exe myApp_1.0.0.0_x86_Debug.appx /Settings:C:\Test\Test.runsettings /logger:trx

然后我使用以下命令调用OpenCover:

OpenCover.Console.exe -target:C:\Test\myBat.bat -register -output:out.xml

但这会导致缺少PDB异常。上面的命令实际上启动了所有测试,我可以看到vstest.console创建了一个trx文件,所有测试都通过但OpenCover没有生成报告。

我也试过使用以下命令:

OpenCover.Console.exe -target:C:\Test\myBat.bat -register -output.xml -targetdir:<TargetDir>

TargetDir字段中,我尝试提供myProject\obj\x86\Debug的路径 - 因为它包含PDB文件。在此之后无效后,我尝试给TargetDir路径myProject\AppPackages\myProject_x86_Debug_Test - 这包含appx和appxsym文件。最后,我尝试将Debug文件夹中的所有文件复制到app packages文件夹中,但这些文件也无法正常工作。

guessing表示OpenCover尚未准备好为Windows手机应用提供保障。如果OpenCover支持Windows Phone应用程序,那么我想知道如何以及我的方法是否有任何问题。

1 个答案:

答案 0 :(得分:1)

我目前遇到同样的问题,所以我无法提供答案。但你有没有尝试过-register:user而不是-register?

openCover.Console.exe -target:C:\Test\myBat.bat -register:user -output:out.xml