我正在使用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应用程序,那么我想知道如何以及我的方法是否有任何问题。
答案 0 :(得分:1)
我目前遇到同样的问题,所以我无法提供答案。但你有没有尝试过-register:user而不是-register?
openCover.Console.exe -target:C:\Test\myBat.bat -register:user -output:out.xml