Dotcover不会报告使用Vstest.console执行的MStests的代码覆盖率

时间:2014-10-21 18:09:46

标签: powershell code-coverage mstest dotcover vstest

如果我使用mstest.exe生成代码覆盖率,则Dotcover工作正常,但如果我的测试使用MSFakes,则mstest.exe不起作用。所以我别无选择,只能使用vstest.console。       如果我使用Vstest.console,它可以正常使用“带假货的MS测试”,但报告代码覆盖率为0%。          只是为了测试我创建了另一个我不使用MSfake​​s的单元测试项目,即使对于这个项目,vstest.console报告代码covegare为0%。

我正在使用powershell脚本来自动化单元和集成测试过程。以下是我的代码。我在这里错过了什么?或者这个功能不支持dotcover?

$TestDlls = "D:\project.tests1\bin\Output\Org.Namespace.Domain.Project.Tests.dll","D:\project.tests\bin\output\Org.Namespace.Domain.Project.Tests.dll"
$MsTestExePath = "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Vstest.console.exe"
   $dotCoverExePath = "C:\Program Files (x86)\JetBrains\dotCover\v2.7\Bin\dotCover.exe"
   $snapshotFileName = "UnitTests.dcvr"     
   $WorkingDir = Get-Location
   $MsTestArgs =  $TestDlls + " /inIsolation /Platform:x64 /Framework:Framework45"

   exec { & $dotCoverExePath cover /TargetExecutable=$MsTestExePath /TargetArguments=$MsTestArgs /TargetWorkingDir=$WorkingDir /Output=$snapshotFileName }

0 个答案:

没有答案